# CompositeValueCurve

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/CompositeValueCurve/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/CompositeValueCurve

An animation curve that groups child `FloatCurves` which each animate a different component of a non-unary value.

## Properties

### CurveType

```luau
CompositeValueCurve.CurveType: Enum.CompositeValueCurveType = Enum.CompositeValueCurveType.NumberRange
```

- Tags: Read capabilities: Basic

The type of value animated by this [`CompositeValueCurve`](https://rapi.sleaze.dev/classes/CompositeValueCurve.md).

## Methods

### GetComponentCurves

```luau
CompositeValueCurve:GetComponentCurves(): { Instance }
```

- Tags: Capabilities: Basic

Returns the child curves with the given names for the [`CurveType`](https://rapi.sleaze.dev/classes/CompositeValueCurve.md) of this [`CompositeValueCurve`](https://rapi.sleaze.dev/classes/CompositeValueCurve.md).

Returns: An array of the child [`FloatCurve`](https://rapi.sleaze.dev/classes/FloatCurve.md) instances that drive the components of the animated value, in the order listed at the top of this page. Any expected child curve that does not yet exist is created as an empty [`FloatCurve`](https://rapi.sleaze.dev/classes/FloatCurve.md) and included in the result.

### GetValueAtTime

```luau
CompositeValueCurve:GetValueAtTime(time: number): any
```

- Tags: Capabilities: Basic

Returns the sampled animated value at the passed `time` argument.

Parameters:

- `time`: Time at which to get the value.

Returns: The value of the curve at the passed time.

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
