I have a script on my player to move. I do not have root motion applied because, root motion does not work perfectly so I'm manually adding velocity to the player.
The player is holding a ball and the ball is a child of the player. However, when I apply force to the player it seems to apply force to the ball so he stops holding it and it is just floating around instead.
My player and my ball both have rigidBodies and I'm applying force like this.
var velocityX = horizontal * HorizontalSpeed * Time.deltaTime;
var velocityZ = vertical * VerticalSpeed * Time.deltaTime;
rigidBody.velocity = new Vector3(velocityX, 0f, velocityZ);
I know as a hack I can apply a late update to the ball, but I'd rather understand what is going on.
Can anyone help me figure this out?