1

UnassignedReferenceException: The variable playerBody of MouseLook has not been assigned. You probably need to assign the playerBody variable of the MouseLook script in the inspector.

UnityEngine.Transform.get_localRotation () (at :0) UnityEngine.Transform.Rotate (UnityEngine.Vector3 eulers, UnityEngine.Space relativeTo) (at :0) UnityEngine.Transform.Rotate (UnityEngine.Vector3 eulers) (at :0) MouseLook.Update () (at Assets/MouseLook.cs:26)

    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);     
        }
    }

1 Answer 1

0

Drag your player in playerBody field on inspector.

Not the answer you're looking for? Browse other questions tagged or ask your own question.