I've modeled my third person controller using this structure (character, rigidbody, moves from FixedUpdate() and Camera moves in LateUpdate()) and everything is running absolutely smoothly. However, I've included a first-person mode in which the camera rotates up and down on it's 'transform.right' and rotates left to right on 'Vector3.up'. I position the camera at the characters head and when the camera rotates left or right, the characters looks in the same direction as the camera. The system I'm using has an empty transform, at (0,0,0) rotate along with the camera (only on its y-rotation) and the character uses these rotations. So this has the character turn along with the camera whenever it is rotated left to right. The problem is that, whenever the character is moving and I rotate the camera left or right it starts to jitter. While the character is still or if the camera moves up or down at any point, it works perfectly fine. The characters movement is set in FixedUpdate() and the camera, empty transform and characters rotation are set in LateUpdate(). I've tried many combinations of different Update() and it only gets worse with other combinations. The character uses a Rigidbody with the Interpolate turned on and is not kinematic. The code that the camera uses to rotate left-right is: Code (CSharp): this.transform.RotateAround (this.transform.position, Vector3.up, zLeftX * 2f); Where 'zLeftX' is the Horizontal input of the right analog stick. The position that the camera uses is the head transform of the character. I've also tried parenting the camera to the character and rotating the character rather than the camera but it makes no difference. I've checked to see if there is any other area in the scripts that is messing with the rotations/positions but I can confirm that it's not the case. Any suggestions?