# LerpUnclamped(float, float, float)

> Linearly interpolates between a and b by t with no limit to t.

## Definition

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

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

### Parameters

**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The start value.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The end value.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): The interpolation between the two floats.

### Returns

| Type                                                          | Description                                                |
| ------------------------------------------------------------- | ---------------------------------------------------------- |
| [float](https://learn.microsoft.com/dotnet/api/system.single) | The float value as a result from the linear interpolation. |

### Remarks

The parameter `t` is not clamped and a value based on `a` and `b` is supported.  If `t` is less than zero, or greater than one, then [Mathf.LerpUnclamped](/engine/6000.7/script-reference/unityengine/mathf/lerpunclamped.md) will result in a return value outside the range `a` to `b`.

Suppose parameter `a` = 0.33f, and `b` = 1.5f.  If interpolator `t` = -0.25f then the return value is 0.0375f.

**Details:** The calculation (b - a) is 1.17f. This is scaled by 0.25f and a result of 0.2925f is obtained.  Subtracting this from `a` (because the interpolant `t` is negative) results in 0.0375f.

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