Skeletal Controls

SkeletalControls (also called SkelControls) allow direct control of bones within a Skeleton. These can be used within Animation Blueprints to control an individual bone, create IK chains, and more. This direct control of the underlying Skeleton provides the ability to create procedural, dynamically-driven animation. The Transform of one bone can be used to drive another or can be used to conform the feet of a character to the ground while playing a generic walk animation. Any sort of modification can be used to tweak or completely override the bone Transforms applied by AnimationSequences.

Common Pins and Properties

Some pins and properties are common to all SkeletalControls. These are described below.

Pin Description

Input Pins

Component Pose The input pose to be transformed
Alpha A float value in the range [0.0, 1.0] to use as the alpha value to determine the weighting of the Transform applied by the SkeletalControl. A value of 0.0 gives full weighting to the input pose, while a value of 1.0 gives full weighting to the control's computed Transform.

Output Pins

Pose (Blank) The final pose after the Transform has been applied


Property Description
LOD Threshold This is the max Level of Detail (LOD) that this node is permitted to run on. For example: if you have LOD Threshold set to 2, it will run until LOD 2, but disable itself once the component's LOD becomes 3.

Component Space

Poses can either be in local-space or component-space. The Convert Spaces nodes available in the AnimGraph of Animation Blueprints provide the ability to convert poses between local and component space. Local space assumes the transform of a bone to be relative to its parent bone. Component space assumes the bone's transform to be relative to the SkeletalMeshComponent.

Generally, when working with poses in an Animation Blueprint, they will be in local-space. However, certain blend nodes and all SkeletalControls operate in component-space. This means that the input pose needs to be transformed prior to being passed in to one of these types of nodes. If the input pose is coming from a node that outputs a local space pose, the pose must be converted to the correct space before a SkeletalControl can perform operations on it. The resulting pose, after the SkeletalControl have performed the operations, then must be converted back to local space for input to additional blends or the Result pin.

Because there is a cost associated with each conversion to or from component space, it is best to group any nodes that operate in component-space, such as SkeletalControls, so that they are all performed in a row, limiting the number of conversions needed.

See Convert Spaces Nodes for more information on the space conversion nodes.

Skeletal Control Nodes

Below are links to additional pages with information about each of the Skeletal Control Nodes within the AnimGraph.