# LerpAngle(float, float, float)

> Same as Mathf.Lerp but makes sure the values interpolate correctly when they wrap around 360 degrees.

## Definition

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

```csharp
public static float LerpAngle(float a, float b, float t)
```

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The start angle. A float expressed in degrees.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The end angle. A float expressed in degrees.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The interpolation value between the start and end angles. This value is clamped to the range \[0, 1].

### Returns

| Type                                                          | Description                                                                                                  |
| ------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| [float](https://learn.microsoft.com/dotnet/api/system.single) | Returns the interpolated float result between angle `a` and angle `b`, based on the interpolation value `t`. |

### Remarks

This method returns the shortest path between the specified angles. This method wraps around values that are outside the range \[-180, 180]. For example, LerpAngle(1.0f, 190.0f, 1.0f) returns -170.0f. To find the longest path use [Mathf.Lerp](/engine/6000.7/script-reference/unityengine/mathf/lerp.md).

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    float minAngle = 0.0f;
    float maxAngle = 90.0f;

    void Update()
    {
        float angle = Mathf.LerpAngle(minAngle, maxAngle, Time.time);
        transform.eulerAngles = new Vector3(0, angle, 0);
    }
}
```

Additional Resources: [Mathf.Lerp](/engine/6000.7/script-reference/unityengine/mathf/lerp.md).
