private void TurnToDirection(Vector2 xzVector) { float targetTheta = Mathf.Atan2(xzVector.y, xzVector.x); var currentVector = transform.forward.JustXZ().normalized; float currentTheta = Mathf.Atan2(currentVector.y, currentVector.x); float difference = CommonUtils.AngleBetweenThetas(targetTheta, currentTheta); myBody.AddTorque(0, difference, 0); }