Animation State Machine
Graph of animation states and transitions
Also known as: Animator state machine · Anim BP state machine
Definition
An animation state machine is a graph where each node represents an animation clip or sub-machine and edges represent transitions guarded by conditions (speed, isJumping, isGrounded). It is how engines decide which clip to play and how to blend between them. Both Unity’s Animator and Unreal’s Animation Blueprint expose state machines as the top-level structure of any non-trivial character.
In production
Unity's Animator Controller renders the state machine as a visual graph where each state holds a Motion (clip or blend tree) and transitions check bool, float, or trigger parameters set from gameplay code — a classic beginner bug is leaving "Has Exit Time" enabled on a transition meant to interrupt immediately, causing a noticeable input-lag feel. Unreal's Animation Blueprint exposes the same concept as a state machine node inside the AnimGraph, where transition rules are boolean expressions evaluated against variables exposed from the character Blueprint. Both engines support nested sub-state machines so a "Combat" super-state can contain its own idle/attack/block states without cluttering the top-level locomotion graph. A frequent production issue is transition conflicts — two transitions with overlapping conditions firing in the same frame — which shows up as a character flickering between two poses and is usually debugged by stepping through the Animator window or the AnimGraph debug view during play-in-editor.
Learn Animation State Machine in
Tools that use Animation State Machine
See also
Animation Graph
Node-based runtime animation evaluation
Animation Blending
Interpolate poses between clips
Rigging
Building a deformation skeleton
Character Stuck in T-Pose in Unity
Animation does not play on the character
Animation Pops Between States
Sudden jumps when switching animations
Foot Sliding in Game Animation
Feet glide over the ground while walking
Motion Matching
Choosing animation frames from a database to match movement