Quick answer: Motion Matching picks the database pose closest to the current pose and the desired trajectory. If the character stays in idle, the trajectory input is missing or the schema has no trajectory channel. If it pops, raise the blend time and add continuing-pose bias. If it picks the wrong clips, the database is incomplete or not indexed. The Rewind Debugger shows exactly what it chose and why.

Motion Matching in UE 5.4 and later (the Pose Search plugin, showcased by the Game Animation Sample) replaces state machines with a search over your animation data. When it misbehaves there is no state machine to inspect, which makes it feel like a black box. It is not: every symptom maps to one of a handful of inputs.

How the search works, briefly

Each frame (or at a set interval), the Motion Matching node in your Anim Blueprint compares the character's current state with every pose in the active Pose Search Database. The Pose Search Schema defines what is compared: channels for bone positions and velocities, and a trajectory channel describing where the character has been and is about to go. The lowest-cost pose wins and the node blends to it. So problems come from four places: the data, the schema, the trajectory you feed in, and the node's blend settings.

Check 1: plugins and assets

Symptom: the character stays in idle or does not start moving

The search has no reason to leave the idle clip, which almost always means it does not know where the character wants to go.

Symptom: popping, jitter or flip-flopping between clips

Symptom: foot sliding

Motion Matching selects animations; your movement component still moves the capsule. When the capsule moves at a speed or acceleration the animations never show, feet slide. Two fixes, usually combined:

  1. Tune the Character Movement component (max speed, max acceleration, braking deceleration, ground friction) so its movement resembles the data. The Game Animation Sample's character is a good reference.
  2. Correct the remaining mismatch with Stride Warping and Orientation Warping after the Motion Matching node.

Symptom: wrong animation chosen (backwards, sideways, mirrored)

Use the Rewind Debugger

Open Tools > Debug > Rewind Debugger, start recording, play until the problem happens, then scrub back. Pose Search adds its own track: for each frame you can see which database was searched, which pose was selected, its cost broken down by channel, and the runners-up. “Idle selected because trajectory cost is zero for every candidate” or “two clips alternating within 0.01 cost” is visible directly, and turns guessing into a specific fix.

After it ships

Animation systems rarely crash, but they produce the bugs players describe worst: “the character glitched”. Bugnet's Unreal SDK lets your UMG menu call ReportBug() so players can file a report with a screenshot, the level and their hardware attached, which beats trying to reproduce a one-line Steam review.

Frequently asked questions

Why is my Unreal Motion Matching character stuck in idle?

The search has no trajectory telling it where the character wants to go, or the database has no start animations. Connect the trajectory input to the Motion Matching node and make sure the schema includes a trajectory channel.

How do I stop Motion Matching from popping between animations?

Increase the blend time on the Motion Matching node, add a negative continuing pose cost bias on the database, and smooth the trajectory input.

How do I debug Motion Matching in Unreal?

Use the Rewind Debugger. The Pose Search track shows the searched database, the selected pose and its cost per channel for every recorded frame.

Most Motion Matching bugs are data bugs. Check what the database contains before you tune a single weight.