My code is not erroring out; it just isn’t working.

```
public Quaternion theMaxRotatoion;
void Start()
{
//The maximum rotation should be 90
theMaxRotatoion.x = 90f;
}
void Update()
{
//If this game object is over 90, it should alert me in the console.
if (this.transform.rotation.x > theMaxRotatoion.x)
{
Debug.Log("It's over 90");
}
}
```

Because a Quaternion does not represent Euler Angles which you seem to assume. Quaternions are a 4 dimensional extension of the complex numbers (hence "Quat"ernion). The 4 components of a unit quaternion are always in the range -1 to 1. If you want to know more about quaternions I recommend this numberphile video and this 3B1B video.

If you’re looking for an euler angles representation of the orientation of a Transform you can use `transform.eulerAngles`

. However be aware of the fact that those are actually calculated backwards from the quaternion representation. Also note that euler angles do not have a unique representation for a certain orientation and also suffers from gimbal lock. Specifically in Unity’s gimbal setup, the value you want to test against is the exact gimbal lock case. The x euler angle doesn’t really get larger than 90°

@Bunny83 perfect description. As for your furthur help. Our normal mind think rotation as 3 angles. XYZ. and quaterion is a little difficult. so If you want to clamp, try converting quaternion to euler angles.

like transform.rotation.eulerangle.x, transform.rotation.eulerangle.y, transform.rotation.eulerangle.z.

hope this could help.