---
name: FloatCurveKey
last_updated: 2026-06-11T17:05:17Z
type: datatype
summary: "A time-value pair used with FloatCurve instances."
---

# FloatCurveKey

A time-value pair used with [FloatCurve](/docs/reference/engine/classes/FloatCurve.md) instances.

**Type:** datatype

## Description

A time-value pair used with [FloatCurve](/docs/reference/engine/classes/FloatCurve.md) instances.

The [Interpolation](/docs/reference/engine/datatypes/FloatCurveKey.md) property dictates the
interpolation mode for the segment started by this key and ended by the next
key on the curve. Each segment may use a different interpolation mode.

The [LeftTangent](/docs/reference/engine/datatypes/FloatCurveKey.md) and
[RightTangent](/docs/reference/engine/datatypes/FloatCurveKey.md) properties apply to the
cubic interpolation mode and define the desired tangent (slope) at the key.
Different left and right values can be used to encode discontinuities in slope
at the key. Attempting to set a
[RightTangent](/docs/reference/engine/datatypes/FloatCurveKey.md) value on a key that doesn't
use the cubic interpolation mode will result in a runtime error. It is
possible to set the [LeftTangent](/docs/reference/engine/datatypes/FloatCurveKey.md) property
on any key, as it will be used should the preceding segment use cubic
interpolation.

## Constructors

### FloatCurveKey.new

**Signature:** `FloatCurveKey.new(time: number, value: number, Interpolation: KeyInterpolationMode)`

Creates a new [FloatCurveKey](/docs/reference/engine/datatypes/FloatCurveKey.md) at a given time and value.
[LeftTangent](/docs/reference/engine/datatypes/FloatCurveKey.md) and
[RightTangent](/docs/reference/engine/datatypes/FloatCurveKey.md) are left uninitialized
and, if not initialized, tangent values of 0 will be used when evaluating
the curve.

**Parameters:**

| Name | Type | Default | Description |
|------|------|---------|-------------|
| `time` | `number` |  | Time at which to create the new [FloatCurveKey](/docs/reference/engine/datatypes/FloatCurveKey.md). |
| `value` | `number` |  | Value of the new [FloatCurveKey](/docs/reference/engine/datatypes/FloatCurveKey.md). |
| `Interpolation` | `KeyInterpolationMode` |  |  |

## Properties

### FloatCurveKey.Interpolation

**Type:** `KeyInterpolationMode`

Defines this key interpolation mode for the segment started by this
[FloatCurveKey](/docs/reference/engine/datatypes/FloatCurveKey.md).

### FloatCurveKey.Time

**Type:** `number`

The time position of this [FloatCurveKey](/docs/reference/engine/datatypes/FloatCurveKey.md).

### FloatCurveKey.Value

**Type:** `number`

The value of this [FloatCurveKey](/docs/reference/engine/datatypes/FloatCurveKey.md).

### FloatCurveKey.RightTangent

**Type:** `number`

The tangent to the right of this [FloatCurveKey](/docs/reference/engine/datatypes/FloatCurveKey.md).

### FloatCurveKey.LeftTangent

**Type:** `number`

The tangent to the left of this [FloatCurveKey](/docs/reference/engine/datatypes/FloatCurveKey.md).