Hello everyone,

I am stuck trying to move the character of a third person game. I am using FixedUpdate() to move the player and LateUpdate() to move the camera, but I can not get rid of the “choppy” movement of the player in the scene. The character’s rigidbody is not kinematic, and interpolate mode is set to interpolation. (Changing TimeStep from 1/50 to 1/144 almost solves the problem, but it is not a efficient solution.) I am using version 5.6.1f1 and Windows 10.

Can anyone help me? Thank you.

EDIT
I though that adding a gif may help you understand my problem.

I can think of two possible causes.

One, you may need to enable interpolation on your rigidbody. Physics engine update defaults to ~50 fps while your game may run faster than that, causing stuttering. Interpolation addresses this. There is a bug with interpolation in Unity 5.6 - so it may not work right if you’re on that version.

Two, you may be polling input on FixedUpdate. Best practice is to poll input on Update(), Move Physics objects on FixedUpdate(), and Update your camera on LateUpdate(). Sounds like you’re doing 2/3 properly, just check the input.

Good luck!

Do you have animations running?

Read inputs in Update, apply inputs in FixedUpdate. I have so smooth controls now!