What will be the best practice to check for locomotion?? Are those extra checks in the second example worth?? 1) Code (CSharp): private void StartTurn(Vector2 position) { float rotation = turnSpeed * position.x; if (Math.Abs(rotation) <= Mathf.Epsilon) return; XRRig xrRig = system.xrRig; if (xrRig) xrRig.RotateAroundCameraUsingRigUp(rotation); } 2) Code (CSharp): private void StartTurn(Vector2 position) { if (!CanBeginLocomotion()) return; float rotation = turnSpeed * position.x; if (Math.Abs(rotation) <= Mathf.Epsilon && !BeginLocomotion()) return; XRRig xrRig = system.xrRig; if (xrRig) xrRig.RotateAroundCameraUsingRigUp(rotation); EndLocomotion(); }