# AnimationNodeDefinition

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/AnimationNodeDefinition/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/AnimationNodeDefinition

A single node within an animation graph, connected to other nodes through named input pins.

## Properties

### NodeType

```luau
AnimationNodeDefinition.NodeType: Enum.AnimationNodeType = Enum.AnimationNodeType.InvalidNode
```

- Tags: Read capabilities: Animation

The kind of node this definition represents within its animation graph.

### InputPinData

```luau
AnimationNodeDefinition.InputPinData: string = "\u0001"
```

- Tags: Hidden, Not scriptable, Read capabilities: Animation

### NodeId

```luau
AnimationNodeDefinition.NodeId: string = ""
```

- Tags: Roblox script security, Read capabilities: Animation

A string that uniquely identifies this node within its animation graph.

## Methods

### AddInputPin

```luau
AnimationNodeDefinition:AddInputPin(pin: string)
```

- Tags: Capabilities: Animation

Appends a named input pin to the end of the ordered input pin list.

Parameters:

- `pin`: Name of the input pin to append. Should match the [`Name`](https://rapi.sleaze.dev/classes/Instance.md) of the corresponding [`ObjectValue`](https://rapi.sleaze.dev/classes/ObjectValue.md) wiring child.

### GetOrderedInputPinNames

```luau
AnimationNodeDefinition:GetOrderedInputPinNames(): { any }
```

- Tags: Capabilities: Animation

Returns the current ordered list of input pin names.

Returns: The ordered list of input pin names.

### RemoveInputPin

```luau
AnimationNodeDefinition:RemoveInputPin(pin: string)
```

- Tags: Capabilities: Animation

Removes the first input pin matching the given name from the ordered pin list.

Parameters:

- `pin`: Name of the input pin to remove. Only the first pin matching this name is removed.

### SetOrderedInputPinNames

```luau
AnimationNodeDefinition:SetOrderedInputPinNames(pins: { any })
```

- Tags: Capabilities: Animation

Bulk-replaces the entire ordered input pin list.

Parameters:

- `pins`: The new ordered list of input pin names, replacing the existing list.

## Events

### InputPinsChanged

```luau
AnimationNodeDefinition.InputPinsChanged: RBXScriptSignal<()>
```

- Tags: Capabilities: Animation

Fires whenever the ordered input pin list is modified.

## 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`
