14 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

AnimationNodeType

Used by AnimationNodeDefinition.NodeType to define how a node in an animation graph processes animation. Setting a node's type resets its input pins to the default set for that type.

ClipNode

Clip node

A reference to an AnimationClip asset. This serves as a leaf node in the graph, generating the raw animation data that feeds into other nodes for blending, selection, or modification.

Inputs
Properties
PropertyTypeDescription
AnimationIdStringThe animation asset to play (for example, rbxassetid://12345).
PlayModeAnimationNodePlayModeDefines the behavior of the clip once it reaches the end of its duration.
ReverseBooleanControls the direction of playback.
SpeedNumberA multiplier for the playback rate. 0.0 pauses the graph, 1.0 is normal speed, and 2.0 is double speed.
TrimBooleanToggles whether the clip's duration should be truncated.
TrimStartNumberThe absolute timestamp (in seconds) where playback should begin.
TrimEndNumberThe absolute timestamp (in seconds) where playback should terminate.

PlayMode accepts the following values:

Event data

SelectNode

Select node

Selects between any number of inputs via the Selection property. Whenever the current selection changes, it triggers a new transition.

Inputs
Properties
PropertyTypeDescription
SelectionStringThe unique ID of the input to select, matching the input connection name (for example, "Walk").
Event data

PrioritySelectNode

Priority Select node

Evaluates a list of connected inputs from top to bottom and plays the first one whose condition evaluates to true. This allows for hierarchical animation selection based on specific logic. Whenever the current selection changes, it triggers a new transition.

Inputs
Properties
PropertyTypeDescription
DefaultInterruptibleAnimationNodeInterruptibleThe baseline interruption rule applied to all inputs. Each input can override this with its TransitionOverrideInterruptible input property.
Event data

SequenceNode

Sequence node

Activates connected inputs in a specific sequential order based on defined wait conditions. Whenever the current selection changes, it triggers a new transition.

Inputs
Properties
PropertyTypeDescription
LoopCountNumberThe number of times to cycle through the entire sequence. A value of 0 (default) indicates an infinite loop. Once reached, the node respects the looping or hold setting of the final input.
DefaultWaitForAnimationNodeWaitForThe baseline wait condition applied to all inputs. Each input can override this with its TransitionOverrideWaitFor input property.
Event data

RandomSequenceNode

Random Sequence node

Selects and plays one of its connected inputs at random. When the currently selected animation completes, the node randomly picks another input to play. Assign each input a specific weight to influence the probability of it being chosen. Whenever the current selection changes, it triggers a new transition.

Inputs
Properties
PropertyTypeDescription
PlayCountNumberThe number of inputs the node plays before stopping. Once reached, the node respects the looping or hold setting of the final input. Defaults to 0, which repeats indefinitely.
SeedNumberA value used to initialize the random number generator, ensuring the sequence remains consistent across clients. Defaults to -1, which uses a random seed.
Event data

OverNode

Over node

Layers the Over pose on top of the Base pose. When combined with a Mask node, masked-out joints in the Over pose reveal the Base pose entirely, creating a transparent overlay effect.

Inputs
Properties
PropertyTypeDescription
WeightNumberThe blend weight used to attenuate the Over pose. Defaults to 1.0 (full override) and is unclamped.
Event data

AddNode

Add node

Adds the Additive pose to the Base pose, attenuated by a specific Weight (unclamped).

Inputs
Properties
PropertyTypeDescription
WeightNumberDetermines the strength of the additive pose applied to the base.
Event data

SubtractNode

Subtract node

Converts an animation into an additive pose by subtracting a relative base pose from the target pose (A - Weight * B). The Weight scales the B pose before subtraction (unclamped).

Inputs
Properties
PropertyTypeDescription
WeightNumberScales the B pose before it is subtracted from A. At 1.0 (default), B is fully subtracted; at 0.0, no subtraction occurs.
Event data

Blend1DNode

Blend1D node

Linearly interpolates between the two animation poses closest to the current input position on a single axis.

Inputs
Properties
PropertyTypeDescription
PositionNumberThe current active value on the blend axis used to sample the animations. If Position is outside the range of defined input positions, the node extrapolates using the two nearest inputs.
PhaseSyncAnimationNodePhaseSyncConfigures whether the timing of child inputs should synchronize.

PhaseSync accepts the following values:

Event data

Blend2DNode

Blend2D node

Blends multiple animation poses together based on two input parameters within a 2D coordinate space. This generalizes the Blend1D node to handle complex scenarios, such as blending based on both movement direction and speed simultaneously.

Inputs
Properties
PropertyTypeDescription
InputModeAnimationNodeBlend2DInputModeDefines the coordinate system used to evaluate the blendspace.
XNumberThe current X-coordinate in Cartesian mode or direction in radians in Polar mode.
YNumberThe current Y-coordinate in Cartesian mode or magnitude in Polar mode.
PhaseSyncAnimationNodePhaseSyncConfigures whether the timing of child inputs should synchronize.

InputMode accepts the following values:

PhaseSync accepts the following values:

Event data

MaskNode

Mask node

Applies a predefined mask to the input Pose. A mask is defined by a weight per object (e.g. joint) in the rig hierarchy, allowing for precise control or "feathering" of the animation.

Inputs
Properties
PropertyTypeDescription
MaskObjectValueA direct child of the Mask AnimationNodeDefinition that defines mask weights.
InvertBooleanWhen true, applies each weight as 1 - weight, allowing the mask to be reused inversely without creating a new asset.

Mask can define weights in either of the following ways:

To populate the mask hierarchy, choose a rig schema:

Event data

SpeedNode

Speed node

Modifies the playback rate of an incoming animation pose.

Inputs
Properties
PropertyTypeDescription
SpeedNumberA multiplier applied to the time delta ($dt$). 0.0 pauses the graph, 1.0 is normal speed, and 2.0 is double speed.
Event data

GraphOutput

GraphOutput node

Represents the final evaluated pose of the graph. This node is automatically included in all new graphs in the Animation Graph Editor. Its presence ensures that the graph is always valid and consistently produces an animation pose.

Inputs
Properties
Event data

Items

NameValueDescription
InvalidNode0The default unassigned type indicating a node has not been configured.
AddNode1An additive blend node that layers an additive pose on top of a base pose.
OverNode2A layering node that composites an overlay pose on top of a base pose using per-joint masking.
Blend1DNode3A blend node that interpolates between multiple inputs along a single numeric axis.
Blend2DNode4A blend node that interpolates between multiple inputs using a two-dimensional position.
ClipNode5A leaf node that plays back an animation clip asset.
GraphOutput6The terminal output node of an animation graph that receives the final pose.
MaskNode7A node that filters its input pose through a per-joint weight mask.
PrioritySelectNode8A state node that plays the highest-priority input whose trigger condition is true.
RandomSequenceNode9A sequence node that plays its inputs in a weighted random order.
SelectNode10A state node that plays whichever input is chosen by a string selection parameter.
SequenceNode11A node that plays its inputs one after another in order, optionally looping.
SpeedNode12A node that scales the playback speed of its input.
SubtractNode13A blend node that subtracts one pose from another to produce a difference pose.
OneShotNode14A layering node that plays a one-shot pose over a looping base pose on trigger, blending it in and back out.
StateMachineNode16A node that selects and transitions between animation states according to a state machine definition.

InvalidNode

The default unassigned type indicating a node has not been configured.

FieldValue
value0

AddNode

An additive blend node that layers an additive pose on top of a base pose.

FieldValue
value1

OverNode

A layering node that composites an overlay pose on top of a base pose using per-joint masking.

FieldValue
value2

Blend1DNode

A blend node that interpolates between multiple inputs along a single numeric axis.

FieldValue
value3

Blend2DNode

A blend node that interpolates between multiple inputs using a two-dimensional position.

FieldValue
value4

ClipNode

A leaf node that plays back an animation clip asset.

FieldValue
value5

GraphOutput

The terminal output node of an animation graph that receives the final pose.

FieldValue
value6

MaskNode

A node that filters its input pose through a per-joint weight mask.

FieldValue
value7

PrioritySelectNode

A state node that plays the highest-priority input whose trigger condition is true.

FieldValue
value8

RandomSequenceNode

A sequence node that plays its inputs in a weighted random order.

FieldValue
value9

SelectNode

A state node that plays whichever input is chosen by a string selection parameter.

FieldValue
value10

SequenceNode

A node that plays its inputs one after another in order, optionally looping.

FieldValue
value11

SpeedNode

A node that scales the playback speed of its input.

FieldValue
value12

SubtractNode

A blend node that subtracts one pose from another to produce a difference pose.

FieldValue
value13

OneShotNode

A layering node that plays a one-shot pose over a looping base pose on trigger, blending it in and back out.

FieldValue
value14

StateMachineNode

A node that selects and transitions between animation states according to a state machine definition.

FieldValue
value16