impossible to understand yet simple problem with eulerAngles

I´ll go right to the point , I have a Quad with the folowing C# script

using UnityEngine;
using System.Collections;

public class Vacios : MonoBehaviour {

	void Start () {

		transform.eulerAngles = new Vector3 (0, 0, 55);


The problem is that the Z angle in the inspector reads “54.79”

The GameObject that has this script attached to has no parent, and no other script is messing with it. Thanks in advance for your help!
Does anyone have an explanation for this ? Thanks

Hi @patosalas, first and foremost, as a general rule don’t ever set transform.eulerAngles. You can read transform.eulerAngles, but don’t set them!

Convert your rotation vector to a Quaternion first instead:

   transform.rotation =  Quaternion. Euler(0f, 0f, 55.0f);

You will be guaranteed not to produce a Gimbal Lock.

In your simple example you might get away with it, but better to get in the habit of using Quaternions instead.

As to your problem, if your conditions are truly as you state, then I can’t reproduce the problem on my system with the latest version of Unity. Perhaps because Vector3 expects float values and you’re passing an int there is some inaccuracy with your compiler. Try the Quaternion version with 55.0f, or upgrade Unity