Code (CSharp): Quaternion targetRotation = Quaternion.LookRotation(path.lookPoints[pathIndex] - transform.position); transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, turnSpeed); transform.Translate(Vector3.right * speed * Time.deltaTime,Space.Self) My piece of code is above. I am following a tutorial for a 3d pathfinding script, but I use it for a 2d game. Everything worked fine until now, but I got in some mathematical trouble, i think it is good to say. My gameobjects are places into a xy axis coordinate. I want to face them one toward another, so I tried using Quaternion.LookRotation, and it changed the rotation on x and y axis but apparently i need to rotate it on z axis (for no reason known to me). Any help?