Hello, I'm trying to solve this problem, but I'm having a lot of difficulties. I prepared this image to make my question clearer: I have an object that goes straight (it simply moves on X,Z axis) towards the A point. At the moment, I'm able to know when the object position is in A. What I want is that the object continues to move and roate (90 degrees) towards the point B (I know the B coordinates). From the point B the object has to continue to go straight. I tryed with this code: Code (CSharp): // targetWayPoint is the B position. transform.forward = Vector3.RotateTowards(transform.forward, targetWayPoint - transform.position, speed * Time.deltaTime, 0.0f); transform.position = Vector3.MoveTowards(transform.position, targetWayPoint, speed * Time.deltaTime); if (transform.position == targetWayPoint) // go simply straight The problem is that the object doesn't rotate by 90°, so basically it goes diagonally. Can anyone help me? Thanx!