Quick answer: Normalize rig scale and frame rate across every clip. Use additive layers for overlays (aim, damage, breathing) and blend trees for state changes (idle, walk, run). Check that all clips target the same skeleton with the same retargeting mode.

Your character walks fine. Runs fine. But transitioning from walk to run at 50% blend weight produces a hip twist that looks like a hula move. You export the clips again and it’s still there. The bug lives in the difference between the two clips — rig scale, frame rate, or root position — not in the clips themselves.

The Usual Suspects

1. Rig scale mismatch. One animator exported the run at scale 1.0; another exported the walk at scale 0.01 (meters vs. centimeters). When the Animator blends them, bone translations linearly interpolate between incompatible magnitudes. The skeleton shears. Re-export every clip from a single reference skeleton at the same scale.

2. Frame rate mismatch. A 24-FPS clip blended with a 60-FPS clip produces sub-frame timing artifacts. The interpolated frames on the 24-FPS clip duplicate for several engine frames, while the 60-FPS clip produces smooth motion. The asymmetry looks like stutter. Force all clips to the same frame rate on import.

3. Root motion vs. in-place. Blending a root-motion clip with an in-place clip at 50% weight moves the root half as much as expected. Decide per clip whether root motion is used and make blend partners consistent.

4. Retargeting mode. Mixing Humanoid and Generic clips on the same Animator produces warped pose blends. Pick one mode per character and convert everything to it.

Additive vs. Override

Use additive layers for overlays that should stack on the base pose:

Use override layers for full-body state changes. A run animation replaces the idle animation; it doesn’t stack on top of it.

Transition Curves

The default linear blend curve looks mechanical. Most transitions feel better with an ease-in-ease-out curve that spends less time in the middle where the blend is most visible. A 0.2-second transition with a cubic curve looks cleaner than a 0.5-second linear.

Debugging Tools

Unity: Animator window, enable Ctrl+H for live bone preview. The transition-in-progress shows both clips.

Unreal: Anim Graph debug view, enable Show Bones and Show Hierarchy. Values for each interpolated bone appear live.

Godot: Debugger → Misc → Skeleton debug. Shows bone positions in real time.

Record a transition at 60 FPS, step frame by frame, and identify the first frame where an artifact appears. That tells you whether the issue is mid-blend (rig/frame-rate) or at a boundary (root motion, transition duration).

Understanding the issue

Animation runs on its own tick group, often separate from gameplay. When animation and gameplay communicate (events firing, state changing), the timing of that communication affects visual consistency.

Operational practices like this one tend to be most valuable when adopted before they're obviously needed. Studios that wait until a crisis to implement quality controls find themselves implementing under pressure, with less time to design well and more pressure to ship features. The practice ends up shaped by the crisis rather than by what would have worked best.

Why this matters

Process bugs are slower to surface than code bugs because they don't fail loudly. A team that handles bug reports poorly accumulates a backlog quietly; a team with the wrong triage taxonomy slowly loses the signal to noise ratio in their tracker. The cost compounds without being visible until something else exposes it.

The practice described here has both an obvious benefit (the one in the title) and several non-obvious ones. Teams that adopt it usually notice the obvious benefit first; the non-obvious benefits surface over time as the practice composes with other team habits. This is part of why adoption is hard - the upfront benefit isn't always commensurate with the upfront cost, but the long-term return is.

Putting it into practice

Measuring whether this practice is working requires honest data, not aspirational metrics. Pick a number that actually moves when the practice is followed (cycle time, fix rate, error count) and not one that moves with general activity (total commits, total bugs filed). The first kind tells you the practice is working; the second kind just tells you the team is busy.

Adopting a practice without measurement is faith-based engineering. Measurement makes it data-driven. The first metric you pick will be wrong; that's fine. Use it for a quarter, see what it actually tells you, refine. The third or fourth iteration of the metric is when it starts to be useful.

Adapting to your context

Adapt this practice to your studio's specific constraints. The shape that works for a 5-person team isn't the same shape that works for a 50-person team. The principle stays; the tooling and cadence change. Pick the variation that matches your scale.

Tailor this practice to your context rather than copying verbatim from another team's implementation. What's appropriate for a multiplayer-focused studio differs from what's appropriate for a narrative-focused one. The principles transfer; the specifics don't.

Long-term maintenance

When this kind of process is missing from a studio, the gap is usually invisible until someone points it out. The team that didn't realize their cycle time was 14 days finds out when they hire from a studio where it was 3. Benchmarks matter - keep some external reference for your own quality bars.

The hardest part of operational changes isn't the change - it's the ongoing maintenance. Build the maintenance into existing rhythms: a quarterly retrospective, a monthly review, a weekly check. The cadence matters because human attention drifts; structure replaces willpower with habit.

Throughput considerations

Process improvements have throughput costs too. A practice that requires every PR to be reviewed by three engineers is correct in theory and slow in practice. Pick implementations that are both correct and fast enough for your team's velocity.

How to start

Process changes benefit from explicit hypotheses about what should change as a result. 'We expect cycle time to drop by 30%' is testable; 'we expect things to get better' isn't. Specific predictions train your judgment and surface unexpected effects.

Pilot the change with a single team or a single feature before rolling it out broadly. The pilot teaches you what implementation details actually matter; the broad rollout applies what you learned. Skipping the pilot means you discover the gotchas during the rollout, which is too late to redesign the practice.

Supporting tooling

Integrating this practice with existing tooling reduces friction. If your team uses Slack for communication, Jira for tracking, and CI for verification, the practice should plug into those tools rather than asking the team to adopt yet another. The lowest-cost variant is usually the one that doesn't introduce new tools.

When evaluating tools to support this practice, prefer ones that integrate with what your team already uses. A purpose-built tool may have better features, but adoption depends on the team using it consistently. The integrated tool that's used 95% of the time usually beats the best-in-class tool that's used 60% of the time.

Adoption pitfalls

Adoption pitfalls vary by team. Small teams struggle with overhead; large teams struggle with consistency; distributed teams struggle with communication. Anticipate the pitfall most likely to affect your team and design around it from the start.

Watch for the pattern where the practice 'almost' works - everyone says they're following it, but the metrics don't move. This is the most common failure mode: surface compliance without underlying behavior change. The fix isn't more documentation; it's making the practice's effect visible through tooling or rituals.

Communicating the change

When cross-team coordination is needed, name the owner explicitly. Practices without ownership decay; practices with a named owner persist as long as the owner stays engaged. Plan for ownership transitions in the same way you plan for code ownership transitions.

Communicating the practice externally - to candidates, to other studios, to the broader industry - reinforces it internally. Teams that talk publicly about how they work tend to do that work better. The act of explaining clarifies the practice for the team, and the external audience holds the team accountable to the public version.

“Animation blending is linear interpolation of quaternions and translations. It works perfectly when both ends are compatible and breaks ugly when they aren’t.”

Related Issues

For Unity-specific blend tree problems, see Unity blend tree stuck at one parameter. For root motion sliding, see Unity Mecanim root motion sliding.

Every blend artifact is a symptom of a difference between the two clips. Find the difference and the artifact disappears — don’t chase the symptom.