Parenting/unparenting would not be perfect however.
I can think of many scenarios where it wouldn't look correct.
Imagine if the player is riding in a speed boat.
The player decides to jump straight up into the air.
In reality: the player would continue to follow the motion of the boat and land only slightly behind where he started the jump (due to wind resistance).
Parented the whole time: the player would continue to follow the motion of the boat and land exactly where he started the jump.
Unparented once jump began: the player would move up as the boat would swiftly ride forward out in front of him.
Probably best to keep the player parented or use a physics system.
I can think of many scenarios where it wouldn't look correct.
Imagine if the player is riding in a speed boat.
The player decides to jump straight up into the air.
In reality: the player would continue to follow the motion of the boat and land only slightly behind where he started the jump (due to wind resistance).
Parented the whole time: the player would continue to follow the motion of the boat and land exactly where he started the jump.
Unparented once jump began: the player would move up as the boat would swiftly ride forward out in front of him.
Probably best to keep the player parented or use a physics system.