Clamping X rotation on camera.

Hey, I’ve been making a 3rd Person Controller for my game, and I can get the rotation of the camera working, however it currently can rotate infinitely on the X axis, I only want it to be able to rotate a certain amount.

I’ve tried other solutions online and nothing has worked. Here is my current code (I got this from someone else)

Btw it’s in the update function.

void Update()
	rb.MovePosition(transform.position += transform.forward * speed * Input.GetAxis("Vertical") * Time.fixedDeltaTime);
	rb.MovePosition(transform.position += transform.right * speed * Input.GetAxis("Horizontal") * Time.fixedDeltaTime);

			rb.velocity = transform.up * speed;


		float rotY = Input.GetAxis("Mouse Y") * sensitivity;
		//Rotating the Player around Y axis
		transform.RotateAround(transform.position, transform.up, Input.GetAxis("Mouse X") * sensitivity * 20 * Time.deltaTime);
		//Rotating the Camera around X axis
		rotY = Mathf.Clamp(rotY, -15, 15);
		_camera.transform.localEulerAngles = new Vector3(-rotY, 0f, 0f);

If anyone could help me it would be great, thanks.

transform.localEulerAngles is calculated from .transform.localRotation so it sometimes go negative or completely mess up 3 axis. you should create a Vector3 in your class and use it for the rotation