I get a few hundred of these a second: Rotation quaternions must be unit length. UnityEngine.Rigidbody:MoveRotation(Quaternion) The angles are only set using Quaternion.LookRotation and Quaternion.Slerp... Is something wrong with this perhaps: currAngle = Quaternion.Slerp (currAngle, targetAngle, Time.deltaTime * (2f - Quaternion.Angle (transform.rotation, targetAngle) / 120)); I can't figure out why they wouldn't be unit length and I don't see a way to "normalize" them (aren't they by definition unit length anyway?). Could the floating point stuff be causing problems in Slerp? And how would I fix/change that? Thanks in advance!