Rotating Transform Evenly

I have the following FixedUpdate() method on a game object:

void FixedUpdate()
{
    transform.Rotate(Vector3.right * Time.deltaTime);
    transform.Rotate(Vector3.up * Time.deltaTime);
    transform.Rotate(Vector3.forward * Time.deltaTime);
}

However, the x rotation, y rotation, and z rotation are all rotating unevenly. What causes this and how can I fix it?

Additional Information:

  • Same results for both a 2D sprite and 3D cube.
  • The order of the Rotate() calls have no effect.
  • The x rotation rotates substantially slower than the y rotation and z rotation.
  • The y rotation and z rotation stay relatively the same.
  • transform.Rotate(Time.deltaTime, Time.deltaTime, Time.deltaTime); yields the same results.

Your code here rotates by 1 degree on the local x, y, and z axis each frame. It is the same as:

transform.Rotate(1.0f, 1.0f, 1.0f);

Your use of Vector3.right/up/forward here is strange since these vectors are directions, and Rotate() takes angles. You need to specify what you want to happen for someone to give you alternate code.