First person Cinemachine jitter issue

When i try rotate my player character through script it appears to jitter. I have a hardlock cinemachine camera tracking a child of my player, with pan tilt as rotation controls. I’ve debuged the issue and have figured out that it’s not actually a problem with cinemachine, but with how I rotate my player. The environment renders smoothly, but anything attached to the player and the player itself jitters when I rotate.
My playermovement uses rigidbody movement, and I’ve turned on interpolation and continuos collision detection. I’ve used multiple methods like Rigidbody.MoveRotation and directly manipulating the transform in update and lateupdate to the camera y-rotation. But none of them have worked, though update and lateupdate are better it’s still very noticeable.
How could I rotate my player without it jittering?

Edit:
Changing the rotation in update and lateupdate while moving, seems also to cause jitter in not only the player but also the environment

If you are using a Rigidbody, then you should enable Interpolation and all the scripts that need to read its transform (e.g. Cinemachine) should do so in Update or LateUpdate.

That said, it is very important to make changes to the Rigidbody according to the rules, or you will break interpolation and be plagued with jitter forever.

  • Never ever write to the transform directly. Always use the Rigidbody API
  • Never push anything to the RB outside of FixedUpdate