I’m trying to create script that rotates object in given axis by set amount of degrees.

That’s my 2 core methods

```
public Vector3 rotation;
public void RotateDegreesFast ()
{
transform.DOLocalRotate (GetTargetRotation (), rotationTime);
}
private Vector3 GetTargetRotation ()
{
Vector3 newRotation = new Vector3 (
rotation.x + transform.localEulerAngles.x,
rotation.y + transform.localEulerAngles.y,
rotation.z + transform.localEulerAngles.z)
return newRotation;
}
```

I was using this script for a little while, it was working perfectly in Y and Z axis. Now I try to rotate object 45 degrees in X axis (`rotation = new Vector3(45f, 0f, 0f)`

). It works until rotation in x value equals 135. `Transform.localEulerAngles.x`

is returning 45 instead of 135. So it’s stuck between 90 and 135 degrees. I was trying to use `transform.localRotation.eulerAngles.x`

instead, but it doesn’t work as well.

I am aware this works that way because specific Euler angle can be represented in many ways. I also know that DOTween has DOLocalRotateQuaternion method, but the thing is that this component is often reused by a designer that sets value of `rotation`

variable in the inspector. It’s way easier to use Euler angles for him.