UE5 Animation Blueprint: state machines, blend spaces, slots

By the Cosindra team · Updated August 7, 2026

An Animation Blueprint decides which pose a skeletal mesh is in this frame. It has two halves that behave nothing alike: an Event Graph that runs like normal Blueprint and computes values, and an Anim Graph that is a pose pipeline flowing into a final output.

This guide covers what belongs in each half, when to reach for a blend space versus a state machine, what slots are actually for, and the handful of reasons a character renders as a T-pose.

Two graphs, two jobs

The Event Graph is where you gather information: Event Blueprint Update Animation fires each frame, you read the owning pawn, and you store Speed, Direction, IsFalling and IsCrouched as variables on the Animation Blueprint.

The Anim Graph consumes those variables and never computes them. Poses flow left to right and end at the Output Pose node. Keeping the split clean is what makes an Animation Blueprint readable — logic on one side, blending on the other.

Blend space or state machine?

They solve different problems and a locomotion setup normally uses both. A blend space interpolates between animations along one or two continuous axes — Speed from 0 to 600 blending Idle, Walk and Run into each other with no visible switch point. A state machine picks between discrete states with explicit transitions and conditions — grounded, jumping, falling, landing.

The usual arrangement is a state machine whose Grounded state contains a blend space. The machine answers "what kind of thing is the character doing", the blend space answers "how fast" within that.

UseWhenDriven by
Blend Space 1DContinuous change along one axisSpeed
Blend Space 2DContinuous change along two axesSpeed and Direction (strafing)
State MachineDiscrete modes with transitionsBools like IsFalling, IsCrouched
SlotOne-off animation played on demandMontages, from gameplay code

What slots are for

A slot is a hole in the Anim Graph where gameplay can inject an animation at runtime. Attacks, emotes, reloads and hit reactions are montages played into a slot rather than states in the machine — you do not want a state and two transitions for every attack in the game.

A slot node sits in the pose chain and passes the underlying pose through untouched until a montage plays into it. Adding one early costs nothing and saves rebuilding the graph the first time you need a montage.

The editor calls that build it

The order follows the dependency chain: the blend space must exist before a state can contain it, and states must exist before transitions can connect them.

#ToolWhat it does
1create_anim_blueprintCreates the Animation Blueprint against a skeleton
2create_blend_spaceBuilds the locomotion blend space and its axis
3add_anim_state_machineAdds the state machine to the Anim Graph
4add_anim_stateAdds states — Grounded, Jump, Fall, Land
5add_blend_space_to_statePlaces the blend space inside the Grounded state
6add_anim_transitionConnects states with their conditions
7add_anim_slotAdds the montage slot to the pose chain
8get_anim_blueprint_infoReads back the assembled graph to check it

Why your character is in T-pose

T-pose means the mesh is rendering its reference pose because nothing supplied a better one. Four causes cover nearly all of it: the Animation Blueprint is not assigned as the mesh’s Anim Class; the state machine output is not connected to the Output Pose node; the variables driving transitions are never updated because Try Get Pawn Owner returned null and the Event Graph silently did nothing; or the animations were imported against a different skeleton than the one the Animation Blueprint targets.

That last one is the expensive mistake, because it looks like an animation problem and is actually an import problem. If your character came from Mixamo or a generator, getting it onto the UE5 Manny-compatible skeleton first is what makes every stock animation just work.

Put an AI copilot inside your editor

The free Cosindra desktop app connects to your UE 5.7/5.8 project — the assistant works in your open editor, and what you generate with the web tools applies straight into it. Windows & macOS.

Download Cosindra

Frequently asked questions

Why is my UE5 character stuck in T-pose?

The mesh is falling back to its reference pose. Check four things in order: the Animation Blueprint is set as the skeletal mesh component’s Anim Class; the state machine actually connects to the Output Pose node in the Anim Graph; the variables your transitions read are being updated in Event Blueprint Update Animation (a null from Try Get Pawn Owner leaves them all at zero and no transition ever fires); and the animations share the same skeleton as the Animation Blueprint. A skeleton mismatch is the one that looks like something else.

Do I put the blend space inside a state or in the Anim Graph directly?

Inside a state, in almost every real setup. The blend space handles continuous variation — how fast the character is moving — while the state machine handles discrete modes like grounded, jumping and falling. Wiring a blend space straight into the Output Pose works for a character that only ever runs around on the ground, and stops working the moment you add a jump.

Where should Speed and Direction be calculated?

In the Event Graph, on Event Blueprint Update Animation, and stored as variables the Anim Graph reads. Speed is normally the owning pawn’s velocity length, and Direction comes from the Calculate Direction node using velocity and actor rotation. Keeping the maths in the Event Graph and the blending in the Anim Graph is the separation the whole asset is designed around — computing values inside the Anim Graph works but scatters your logic across the thing that is meant to be a pose pipeline.

Keep reading