Rotation not being updated more than 4 degrees

Every single frame updated until the forth one the rotation angle is being updated as it should but then when it becomes equal to 4 it stops. What am I doing wrong ?

For future posts, please include your code in your question. After pasting in the code, select it and use the 101/010 button to format it.

The most likely issue is that you are reading values from transform.eulerAngles. The representation does not remain constant. For example run this code:

transfrom.eulerAngles = new Vector3(180,0,0);
Debug.Log(transform.eulerAngles);

The results you get back are (0,180,180)…the same rotation represented differently. One solution is to maintain your own vector3. You first do any rotation and testing on that Vector3, then you assign it to transform.eulerAngles.

See the EulerAngles section at the bottom of this question:

http://answers.unity3d.com/questions/799824/oafatwhy-does-transformrotationx-45-not-work.html