I have a C# code on the camera that makes it follow the player by rotation and position from first and third person view: Code (CSharp): void LateUpdate () { if (thirdPersonView) { transform.position = Vector3.Lerp(transform.position, camPos1.position, Time.deltaTime * smoothFollow); transform.forward = Vector3.Lerp(transform.forward, camPos1.forward, Time.deltaTime * smoothFollow); } else { transform.position = camPos2.position; transform.forward = camPos2.forward; } } void Update() { if (Input.GetButtonDown("View")) thirdPersonView = !thirdPersonView; rotationY = Input.GetAxis("Mouse Y"); transform.Rotate(Vector3.right, -rotationY); } What I am trying to do is make the camera follow the player and when I use the mouse and moves it up and down the camera rotation should move too up and down. As you can see I have tried that but this is not working right beacouse of the line: Code (CSharp): transform.forward = camPos2.forward; I have tried to split the forward to 3 part: the X Y Z and sets the X to transform.rotation but it is not working too. How can I make it work?