# rotation

> A Quaternion that stores the rotation of the Transform in world space.

## Definition

* **Type:** Property
* **Namespace:** [UnityEngine](/engine/6000.6/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public Quaternion rotation { get; set; }
```

### Remarks

[Transform.rotation](/engine/6000.6/script-reference/unityengine/transform/rotation.md) stores a [Quaternion](/engine/6000.6/script-reference/unityengine/quaternion.md). You can use [Transform.rotation](/engine/6000.6/script-reference/unityengine/transform/rotation.md) to rotate a GameObject or provide the current rotation.  Do not attempt to edit/modify [Transform.rotation](/engine/6000.6/script-reference/unityengine/transform/rotation.md). [Transform.rotation](/engine/6000.6/script-reference/unityengine/transform/rotation.md) is less than 180 degrees.

[Transform.rotation](/engine/6000.6/script-reference/unityengine/transform/rotation.md) has no gimbal lock.

To rotate a [Transform](/engine/6000.6/script-reference/unityengine/transform.md), use [Transform.Rotate](/engine/6000.6/script-reference/unityengine/transform/rotate.md), which uses Euler Angles.

If you want to match values you see in the Inspector, use the [Quaternion.eulerAngles](/engine/6000.6/script-reference/unityengine/quaternion/eulerangles.md) property on the returned [Quaternion](/engine/6000.6/script-reference/unityengine/quaternion.md).

```csharp
using UnityEngine;

// Transform.rotation example.

// Rotate a GameObject using a Quaternion.
// Tilt the cube using the arrow keys. When the arrow keys are released
// the cube will be rotated back to the center using Slerp.

public class ExampleScript : MonoBehaviour
{
    float smooth = 5.0f;
    float tiltAngle = 60.0f;

    void Update()
    {
        // Smoothly tilts a transform towards a target rotation.
        float tiltAroundZ = Input.GetAxis("Horizontal") * tiltAngle;
        float tiltAroundX = Input.GetAxis("Vertical") * tiltAngle;

        // Rotate the cube by converting the angles into a quaternion.
        Quaternion target = Quaternion.Euler(tiltAroundX, 0, tiltAroundZ);

        // Dampen towards the target rotation
        transform.rotation = Quaternion.Slerp(transform.rotation, target,  Time.deltaTime * smooth);
    }
}
```

In the above example, the [Transform.rotation](/engine/6000.6/script-reference/unityengine/transform/rotation.md) is described by a quaternion. For more information, refer to [Controlling rotation with the Quaternion class](/engine/6000.6/manual/scripting/programming-math/unity-engine-math/class-quaternion.md).
