---
name: RotationCurveKey
last_updated: 2026-06-10T23:09:12Z
type: datatype
summary: "A time-value pair used with RotationCurve instances."
---

# RotationCurveKey

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

**Type:** datatype

## Description

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

The [Interpolation](/docs/reference/engine/datatypes/RotationCurveKey.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/RotationCurveKey.md) and
[RightTangent](/docs/reference/engine/datatypes/RotationCurveKey.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/RotationCurveKey.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/RotationCurveKey.md)
property on any key, as it will be used should the preceding segment use cubic
interpolation.

## Constructors

### RotationCurveKey.new

**Signature:** `RotationCurveKey.new(time: number, cframe: CFrame, Interpolation: KeyInterpolationMode)`

Creates a new [RotationCurveKey](/docs/reference/engine/datatypes/RotationCurveKey.md) at a given time with a given
[CFrame](/docs/reference/engine/datatypes/CFrame.md). [LeftTangent](/docs/reference/engine/datatypes/RotationCurveKey.md) and
[RightTangent](/docs/reference/engine/datatypes/RotationCurveKey.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 [RotationCurveKey](/docs/reference/engine/datatypes/RotationCurveKey.md). |
| `cframe` | `CFrame` |  | [CFrame](/docs/reference/engine/datatypes/CFrame.md) of the new [RotationCurveKey](/docs/reference/engine/datatypes/RotationCurveKey.md). |
| `Interpolation` | `KeyInterpolationMode` |  |  |

## Properties

### RotationCurveKey.Interpolation

**Type:** `KeyInterpolationMode`

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

### RotationCurveKey.Time

**Type:** `number`

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

### RotationCurveKey.Value

**Type:** `CFrame`

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

### RotationCurveKey.RightTangent

**Type:** `number`

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

### RotationCurveKey.LeftTangent

**Type:** `number`

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