Animation Blueprints

Choose your OS:

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.

An example of an Animation Blueprint is demonstrated on the Animation Content Examples page under section 1.2.

Creating and Navigating Animation Blueprints

Before jumping into how Animation Blueprints work, it's best to understand how to create them. Additionally, you should take some time to familiarize yourself with the Animation Blueprint Interface.

Working with Animation Blueprints

Now that you've created your Animation Blueprint (also, having learned the Animation Blueprint Interface), it's time to consider what you want to work on first.

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; allowing blending between multiple AnimationSequences or poses that can fire off notifications to other systems, 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).

SubAnimInstance.png

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.

See Animation Blueprint Override for an example of creating and overriding an Animation Blueprint with a Child Animation Blueprint.

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.

ExamplePostProcess.png

Please see the Post Process Anim Blueprint section of the Mesh Details page for more information.