Mouse looking script for FPS game tilts the whole player instead of just looking up and down

So i have tried to make a mouse looking script for my fps game but form one day to the other my script started not to work correctly anymore. Instead of looking up and down, it was rather tilting the whole player and it was always in the same direction. My script comes from a youtuber called Brackeys and mine was exactly the same as his but it doesnt work anymore? i was also the same version as him.

here is the script:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MouseLook : MonoBehaviour
{

    public float mouseSensitivity = 100f;

    public Transform playerBody;

    float xRotation = 0f;

    // Start is called before the first frame update
    void Start()
    {
        Cursor.lockState = CursorLockMode.Locked;
    }

    // Update is called once per frame
    void Update()
    {
        float mouseX = Input.GetAxis("Mouse X") * mouseSensitivity * Time.deltaTime;
        float mouseY = Input.GetAxis("Mouse Y") * mouseSensitivity * Time.deltaTime;

        xRotation -= mouseY;
        xRotation = Mathf.Clamp(xRotation, -90f, 90f);

        transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f);
        playerBody.Rotate(Vector3.up * mouseX);
    }
}

I recognize the script you probably got that from Brackeys right? :wink: Anyway do have the script attached to your playerBody or to your camera? Because it has to get onto the camera else you would, as with in your problem, rotate not only the camera but also the player

1 Like