# Animation Advanced > **Target:** Unity **6000.5+**. Built-in Mecanim (Animator, Avatar Mask, layers, root motion). No extra package required for core parts. Animation Rigging remains optional — see fundamentals [[5.Animation Rigging and Script IK]]. > [!warning] Verification status > **None of the C# in this set was compiled in a Unity Editor.** Verified against Unity Manual / Scripting API **6000.5** (Animation Layers + syncing, Animator Override Controller, Scripting Root Motion / `OnAnimatorMove`, `Animator.MatchTarget`, `Animator.CrossFade`, `Animator.WriteDefaultValues`, Rebind / default-values guidance on the Animator API page). Items marked *(unverified)* must be checked in your Editor. This is the **deeper follow-on** promised by [[Animation]]. Do **not** re-learn clips/Avatar/basic transitions here — start from the fundamentals hub and parts 1–7, then come back. **Design lens:** character readability ([[Level Up! (Review)]]). Gameplay brains stay in code ([[Enemy AI State Machine]], [[Game Programming Patterns (Review)]] State) and *drive* the Animator. Root-motion conflicts with custom movers: [[Surface-Walking with an Omnidirectional Player Movement]], [[Car Controller]]. Sequenced overrides: [[Timeline Basics]]. Camera cutaways that follow animated targets: [[Cinemachine 3]]. ## Reading order 1. **[[1.Layer Stacks and Avatar Masks Deep Dive]]** — multi-layer Override stacks, mask authoring edge cases (beyond [[4.Layers Masks Root Motion and Events]] preview). 2. **[[2.Sync Layers Write Defaults and Interruption]]** — Sync + Timing, Write Defaults / Rebind traps, interruption sources. 3. **[[3.Root Motion Advanced]]** — `OnAnimatorMove`, slopes, moving platforms, conflicts with CharacterController / custom movers. 4. **[[4.MatchTarget CrossFade Rebind OverrideController]]** — targeting APIs, CrossFade naming, Rebind cost, OverrideController variants. 5. **[[5.Sub-State Machines Combat Locomotion]]** — architecture for locomotion ↔ combat without Any-State soup. 6. **[[6.Animation Events Reliable Patterns]]** — ordering, idempotence, pooling-safe handlers. 7. **[[7.Worked Example Layered Aim and Locomotion]]** — upper-body aim Override layer + base locomotion. 8. **[[8.Pitfalls]]** — checklist of advanced failure modes. ## Prerequisites (from [[Animation]]) | Part | You should already know | |---|---| | [[1.Clips Avatar and Animator]] | Humanoid vs Generic, Avatar, Controller asset | | [[2.States Transitions and Parameters]] | Params, transitions, Sub-State Machines intro | | [[3.Blend Trees]] | 1D/2D locomotion blends | | [[4.Layers Masks Root Motion and Events]] | Layer weight, mask preview, root motion basics, events intro | | [[5.Animation Rigging and Script IK]] | Optional IK Pass / RigBuilder | | [[7.Animation Pitfalls]] | Common Write Defaults / foot-slide traps | ## Package / docs cited | Topic | Source | |---|---| | Animation Layers + Sync | https://docs.unity3d.com/6000.5/Documentation/Manual/AnimationLayers.html | | Animator Override Controller | https://docs.unity3d.com/6000.5/Documentation/Manual/AnimatorOverrideController.html | | Scripting Root Motion | https://docs.unity3d.com/6000.5/Documentation/Manual/ScriptingRootMotion.html | | `OnAnimatorMove` | https://docs.unity3d.com/6000.5/Documentation/ScriptReference/MonoBehaviour.OnAnimatorMove.html | | `Animator.MatchTarget` | https://docs.unity3d.com/6000.5/Documentation/ScriptReference/Animator.MatchTarget.html | | `Animator.CrossFade` | https://docs.unity3d.com/6000.5/Documentation/ScriptReference/Animator.CrossFade.html | | `Animator.WriteDefaultValues` | https://docs.unity3d.com/6000.5/Documentation/ScriptReference/Animator.WriteDefaultValues.html | | Animator API (Rebind, defaults) | https://docs.unity.com/en-us/engine/6000.5/script-reference/unityengine/animator | ## Verified vs unverified (hub summary) **Verified (docs 6000.5):** Override vs Additive layers; Sync checkbox shares state-machine structure with distinct clips; Timing checkbox weight balance; Avatar Mask on layers; `AnimatorOverrideController` preserves logic/params, swaps clips, prefer normalized Exit Time; `OnAnimatorMove` → Apply Root Motion becomes *Handled by Script*; `MatchTarget` base layer only, one queued match, requires `applyRootMotion`; `CrossFade` state names include layer (`Base Layer.Run`); Write Defaults collected at init/Rebind; `WriteDefaultValues()` / `writeDefaultValuesOnDisable` guidance on Animator API page. **Unverified:** Exact platform-parenting recipes with every CharacterController variant; Timeline ↔ Animator weight fights beyond [[Timeline Basics]]; Netcode proxy animator authority ([[Multiplayer with Netcode for GameObjects]] is a separate deep dive). ## Cross-links [[Animation]] · [[1.Clips Avatar and Animator]] · [[2.States Transitions and Parameters]] · [[3.Blend Trees]] · [[4.Layers Masks Root Motion and Events]] · [[5.Animation Rigging and Script IK]] · [[6.Worked Example Locomotion Look-At and Hand IK]] · [[7.Animation Pitfalls]] · [[Timeline Basics]] · [[Enemy AI State Machine]] · [[Game Programming Patterns (Review)]] · [[Level Up! (Review)]] · [[Surface-Walking with an Omnidirectional Player Movement]] · [[Car Controller]] · [[Cinemachine 3]] · [[Architecture and Code Patterns]]