# Angle

> Returns the angle in degrees between two rotations a and b. The resulting angle ranges from 0 to 180.

## Definition

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

## Angle(Quaternion, Quaternion)

Returns the angle in degrees between two rotations `a` and `b`. The resulting angle ranges from 0 to 180.

```csharp
public static float Angle(Quaternion a, Quaternion b)
```

### Parameters

**** (\[Quaternion]\(/engine/6000.7/script-reference/unityengine/quaternion)): **** (\[Quaternion]\(/engine/6000.7/script-reference/unityengine/quaternion)):&#x20;

### Returns

| Type                                                          | Description |
| ------------------------------------------------------------- | ----------- |
| [float](https://learn.microsoft.com/dotnet/api/system.single) |             |

### Remarks

Example: Think of two GameObjects (A and B) moving around a third GameObject (C).  Lines from C to A and C to B create a triangle which can change over time.  The angle between CA and CB is the value [Quaternion.Angle](/engine/6000.7/script-reference/unityengine/quaternion/angle.md) provides.

### Examples

```csharp
using UnityEngine;
using System.Collections;

// Calculates the angle (degrees) between
// the rotation of this transform and target.

public class ExampleClass : MonoBehaviour
{
    public Transform target;

    void Update()
    {
        float angle = Quaternion.Angle(transform.rotation, target.rotation);
    }
}
```

## Angle(Quaternion, Quaternion)

Returns the angle in degrees between two rotations `a` and `b`. The resulting angle ranges from 0 to 180.

```csharp
public static float Angle(in Quaternion a, in Quaternion b)
```

### Parameters

**** (\[Quaternion]\(/engine/6000.7/script-reference/unityengine/quaternion)): **** (\[Quaternion]\(/engine/6000.7/script-reference/unityengine/quaternion)):&#x20;

### Returns

| Type                                                          | Description |
| ------------------------------------------------------------- | ----------- |
| [float](https://learn.microsoft.com/dotnet/api/system.single) |             |

### Remarks

Example: Think of two GameObjects (A and B) moving around a third GameObject (C).  Lines from C to A and C to B create a triangle which can change over time.  The angle between CA and CB is the value [Quaternion.Angle](/engine/6000.7/script-reference/unityengine/quaternion/angle.md) provides.

### Examples

```csharp
using UnityEngine;
using System.Collections;

// Calculates the angle (degrees) between
// the rotation of this transform and target.

public class ExampleClass : MonoBehaviour
{
    public Transform target;

    void Update()
    {
        float angle = Quaternion.Angle(transform.rotation, target.rotation);
    }
}
```
