public class FirstPersonController : MonoBehaviour
float defaultHeight = 1.6f;
private GameObject _player;
float _mouseSensitivity = 40f;
Transform _playerBody = _player.GetComponent<Transform>();
xRotation -= Input.GetAxis("Mouse Y") * (_mouseSensitivity * 1.5f) * Time.deltaTime;
yRotation += Input.GetAxis("Mouse X") * (_mouseSensitivity * 1.5f) * Time.deltaTime;
float yAxis = Mathf.Clamp(xRotation, -90, 90);
gameObject.transform.localRotation = Quaternion.Euler(Vector3.right * yAxis);
_playerBody.transform.localRotation = Quaternion.Euler(Vector3.up * yRotation);
private void PlayerMove()
zPosition = Input.GetAxis("Vertical") * (_speed) * Time.deltaTime;
xPosition = Input.GetAxis("Horizontal") * (_speed) * Time.deltaTime;
_player.transform.localPosition += new Vector3(xPosition, 0, zPosition);
Cursor.lockState = CursorLockMode.Locked;