Animation warping — sometimes called motion warping — is a technique for procedurally aligning a character with targets in world space. Instead of relying on a hand-crafted animation for every possible obstacle, position, or enemy placement, the runtime system bends the character’s root motion on the fly so it arrives exactly where it needs to be.
The Core Idea
Every root-motion animation moves the character by a fixed amount and direction — the amount baked in by the animator. The moment a game world introduces an obstacle that is a different height, a different distance away, or at a different angle, that fixed motion no longer fits.
Motion warping solves this by treating the animation’s root motion as a guideline rather than a fixed path. It measures how far the character actually needs to travel to reach the target, compares that to the original animation’s root motion, and applies a proportional offset every frame so the character arrives precisely at the target point by the time the animation finishes.
Why It Matters in Practice
Consider a climbing animation authored for a one-metre obstacle. Without warping, placing that same character in front of a two-metre wall forces you to:
- Author a second “climb-tall” animation, or
- Accept that the character’s hands clip through the ledge or float above it.
With motion warping, the single one-metre animation works for a two-metre wall — the system stretches the upward root motion to match the actual obstacle height. The same logic extends to any distance or angle difference.
By reusing one animation across varying obstacles, you can eliminate hundreds of redundant clips from your project and dramatically reduce animation production time.
Common Use Cases
What Comes Next
The next section explains exactly how Motion Warping achieves this — covering warping phases, play rate scaling, total root motion accumulation, and the LateUpdate formula that applies the offsets each frame.