Related Articles

Animation Blueprints

An Animation Blueprint is a specialized Blueprint that controls the animation of a Skeletal Mesh.
Graphs are edited inside of the Animation Blueprint Editor, where you can perform animation blending, directly control the bones of a Skeleton, or setup logic that will ultimately define the final animation pose for a Skeletal Mesh to use per frame.

Creating and Navigating Animation Blueprints

Working with Animation Blueprints

There are two main components in an Animation Blueprint that work together to create the final animation
for each frame. Specifically, the EventGraph performs updates to values that are then used in the AnimGraph to drive State Machines, BlendSpaces or other nodes; enabling blending between multiple Animation Sequences or poses that can fire off notifications to other systems, and enabling dynamic animation-driven effects.

Working with Sub Animation Blueprint Instances

When creating Animation Blueprints for various characters, it's not uncommon to share animation logic between those characters.
For example, suppose you have physical animation, or
AnimDynamics, applied to one character and you want to apply it to another.
With the
Sub Anim Instance node, you can create a reference to a separate Animation Blueprint to access and include all of its logic within another Animation Blueprint.

This can be used to break up large Animation Blueprints into separate, smaller Blueprints that can then be included in other Animation Blueprints.
For example, you could have one Animation Blueprint strictly for "Locomotion", and a Sub Anim Instance that handles physics-based animation.
Member variables of a Sub Animation Blueprint can also be exposed as input pins inside of their parent Animation Blueprint, enabling
Sub-Graph Input nodes to expose In Pose to the Sub Anim Instance (see the example shown below).

When working with Sub Anim Instances, they must use the same Skeleton as the outer Animation Blueprint it resides in.

See Using Sub Anim Instances for an example walk-through of setting up a Sub Animation Blueprint Instance to affect a character's movement.

Working with Child Animation Blueprints

When creating and setting up characters and Animation Blueprints, there may be situations where you have multiple characters that are similar but have entirely different animations for different states.
Rather than creating Animation Blueprints for each of those characters, you may be able to use a Child Animation Blueprint of a pre-existing Animation Blueprint and override the animation assets that you want to replace.
The Child Animation Blueprint will inherit everything from the parent, enabling you to specify which animations should be overridden via the Asset Override Editor.

For example, suppose you have two humanoid characters, where one is a human and the other is a werewolf. Both characters can walk, run, jump, and crawl.
However, their motions may be entirely different. The logic of moving between those motions is the same, but the motions themselves are different.
It's perfectly fine to create two different Animation Blueprints but to save some time, you can create a Child Animation Blueprint and selectively choose which animations to override.

Assigning Post Process Animation Blueprints

Animation Blueprints can also be assigned directly to a Skeletal Mesh through the Skeletal Mesh Asset Details panel as a Post Process Anim Blueprint.
This allows you to assign an Animation Blueprint to a Skeletal Mesh that will always run after any Animation Blueprint was assigned as the Main Anim Instance for a Skeletal Mesh Component.
By assigning a Post Process Anim Blueprint to a Skeletal Mesh, you can create AnimDynamics, Skeletal Controls, or other Anim Blueprint logic without having to copy that logic to other Animation Blueprints.