Animation Blueprints

Animation Blueprints are visual scripts that are used for the creation and control of complex animation behaviors.

Choose your operating system:

Windows

macOS

Linux

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 and the Animation Blueprint Interface.

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).

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.

Live Editing of Animation Blueprints

This feature is currently experimental and some aspects may not function as expected.

Animation Blueprints can be edited and recompiled in real-time while playing in the Editor which may improve your iteration times as you no longer need to stop to apply changes.

In the video above, we make changes to our character's State Machine during a Play in Editor session.

You can enable live editing by enabling the Enable Live Recompilation Of Animation Blueprints option in the General - Experimental section under Tools .

LiveEditing.png

You will need to define an Animation Blueprint instance to debug using the Debug Filter inside your Animation Blueprint.

DebugOption.png

After selecting an Animation Blueprint instance to debug, the Animation Blueprint Editor will reflect whatever animation state your character is in from your Level.

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss