Skip to content

Blend Spaces in Animation Blueprints

A Blend Space is an animation asset that turns one or two numbers into a blended pose. In a beginner locomotion graph, those numbers are usually ground speed and direction.

The one-minute version

  • A Blend Space asset stores animation samples on a one-dimensional or two-dimensional graph.
  • A Blend Space Player node in the AnimGraph reads axis input values and outputs the blended pose for those values.
  • A 1D Blend Space uses one number, often GroundSpeed, to blend idle, walk, and run.
  • A 2D Blend Space uses two numbers, often Direction and GroundSpeed, to blend forward/back/strafe locomotion.
  • An Aim Offset is a Blend Space variant for additive aiming poses, usually driven by yaw/pitch and layered on top of another pose.
  • The Blend Space does not calculate your speed, direction, or owner reference. Your Animation Blueprint variables provide those values.
  • If the Blend Space previews correctly but plays wrong in game, inspect axis ranges, sample placement, runtime variable values, active AnimBP instance, and the state/slot/layer feeding the final pose.

What a Blend Space outputs

A Blend Space outputs a pose. It does not output a number, move the character, or decide which state is active.

AnimGraph state: WalkRun
-> Blend Space Player BS_WalkRun
   X Axis = GroundSpeed
-> Output Pose for this state

The Blend Space asset contains samples:

GroundSpeed axis:
0     -> Idle animation
180   -> Walk animation
600   -> Run animation

When GroundSpeed is 300, the node blends between the nearby samples. The resulting pose is what the state machine state contributes.

1D vs 2D

Use 1D when one number picks the animation.

Blend Space 1D: BS_GroundSpeed
Axis: GroundSpeed 0..600
Samples:
    0   Idle
    180 Walk
    600 Run

Use 2D when two numbers matter:

Blend Space: BS_Locomotion2D
Axis X: Direction -180..180
Axis Y: GroundSpeed 0..600

Samples:
    Direction 0, Speed 600      ForwardRun
    Direction 90, Speed 600     RightStrafe
    Direction -90, Speed 600    LeftStrafe
    Direction 180, Speed 600    BackRun
    Speed 0                     Idle

1D is easier to start with. 2D is useful for strafe/aiming locomotion where "moving fast" is not enough; the animation also needs to know which direction relative to the character/aim.

Axis values come from AnimBP variables

The usual data path is:

Event Blueprint Update Animation
-> Is Valid OwnerCharacter
-> Get Velocity
-> Vector Length XY
-> set GroundSpeed
-> calculate movement direction if needed
-> set Direction

AnimGraph
-> State Machine
-> WalkRun state
-> Blend Space Player reads GroundSpeed/Direction

The Blend Space should not be the first place you debug movement. It only sees the values you feed it. If GroundSpeed stays 0, every sample layout in the world still outputs idle.

For simple third-person movement, start with a 1D speed Blend Space and only add 2D direction when your character actually needs strafe/backpedal samples.

Sample placement and ranges

The graph axes are not decorative. They define the number range your variables must match.

Common beginner setup:

GroundSpeed axis:
Minimum = 0
Maximum = 600

Character Movement Max Walk Speed = 600

If your character's max speed is 300 but the run sample is at 600, the Blend Space may never reach full run. If your speed can exceed the axis maximum, the input clamps at the edge and you will not see more animation variation.

Sample quality matters too:

  • use compatible animations for the same skeleton;
  • place idle near zero speed;
  • keep directional samples aligned to the axis meaning;
  • avoid thin awkward triangles in 2D layouts;
  • choose loop settings that match locomotion cycles;
  • decide how animation notifies should fire when multiple samples blend.

Aim Offsets

An Aim Offset is a Blend Space variant usually built from mesh-space additive poses. It is for "take this base pose and adjust aim/look direction."

Use it for:

  • upper-body aim yaw/pitch;
  • looking up/down with a weapon;
  • small additive pose corrections.

Do not use an Aim Offset as your normal walk/run locomotion state unless you are deliberately working with additive aim poses. It usually layers on top of locomotion:

Locomotion pose
-> Aim Offset driven by AimYaw and AimPitch
-> Output Pose

When it appears to fail

Failure What it looks like What to check
Axis values stay default Character always idles. Watch GroundSpeed / Direction in PIE.
Axis range mismatches movement Never reaches walk/run or clamps too soon. Blend Space min/max vs Character Movement speeds.
Wrong AnimBP instance Preview works, play does not. Mesh Anim Class and live debug instance.
Wrong state/layer active Blend Space updates but pose is not visible. State machine transitions, cached poses, slot/montage overrides.
Bad sample placement Foot sliding, weird diagonal blends. Sample coordinates, direction math, triangulation.
Incompatible animations Pops or wrong skeleton/pose. Skeleton, retargeting, looping, root motion settings.
Notifies fire unexpectedly Footsteps from blended samples feel wrong. Blend Space notify trigger mode and sample weights.

Failure is usually data mismatch, not a broken asset. Prove the input values before rebuilding the Blend Space.

The pattern everyone actually uses

1D locomotion:

Event Blueprint Update Animation
-> Try Get Pawn Owner / stored OwnerCharacter
-> Get Velocity
-> Vector Length XY
-> GroundSpeed

State Machine
Idle -> WalkRun when GroundSpeed > 3
WalkRun state:
    Blend Space Player BS_WalkRun_1D
    Axis = GroundSpeed

2D strafe locomotion:

Update Animation
-> GroundSpeed = Vector Length XY(Velocity)
-> Direction = CalculateDirection(Velocity, ActorRotation)

WalkRun state:
    Blend Space Player BS_Strafe
    X = Direction
    Y = GroundSpeed

Aim offset layer:

Locomotion cached pose
-> Aim Offset AO_RifleAim
   Yaw = AimYaw
   Pitch = AimPitch
-> layered/blended output

Lookalikes - which one do I want?

Tool Use when Watch out
Blend Space 1D One continuous value chooses samples. Best first locomotion setup.
Blend Space 2D Two continuous values choose samples. Needs correct direction math and sample layout.
Aim Offset Additive aim/look poses layer over a base pose. Requires additive-compatible samples.
State Machine transition Switching between modes such as grounded/falling/dead. Not for blending idle-walk-run samples by itself.
Montage One-shot action with sections/slots/callbacks. Not a replacement for constant locomotion blending.
Blend by Bool/Enum Small direct pose choice. Can be cleaner than a tiny state machine.

Rule of thumb: Blend Space selects between related samples inside a state; state machines decide which state is currently relevant.

Going deeper