The Three Core Systems
CAS delegates every animation concern to a dedicated component. Each component has a single, well-defined responsibility:Layered Blending
Combines the main Animator Controller output with Overlay Poses using per-bone curve weights. Controls how much of a weapon overlay appears on the arms, spine, head, and lower body.
Procedural Animation
Runs a stack of modular Animation Modifiers that alter bone transforms after blending. Used for foot IK, weapon sway, recoil, hand placement, and similar runtime effects.
Property Bindings
Connects public fields, properties, and methods from gameplay components to animation parameters in the editor — without requiring hand-written binding code.
Character Animation Component
The Character Animation Component is the orchestrator. It owns references to both the Layered Blending component and the Procedural Animation component, drives their update loop, manages Animation Slots, and handles pose blending when you switch between Character Animation Settings profiles. You interact with CAS almost entirely throughCharacterAnimationComponent — calling PlayAnimation, StopAnimation, and UpdateAnimationSettings on it. The underlying components receive their instructions from there.
Playables API Foundation
All custom animation logic in CAS is built on top of the Unity Playables API. This means the playable graph CAS creates can coexist with other Playables-based packages, such as Animation Rigging, without conflict. CAS does not access the Animator component directly; it reads the current character pose from the Animator’s output node in the graph.Base Pose vs Overlay Pose
Two pose concepts are central to how Layered Blending works: Base Pose is the standing idle animation for your character. CAS subtracts this pose from the Animator output and re-adds it to the Overlay as a dynamic additive contribution. This subtraction step is what allows the upper body to smoothly adopt a weapon pose while the lower body continues running from the Animator Controller. Overlay Pose is the weapon, item, or action pose you want to apply at runtime. A static animation clip is sufficient for simple cases — for example, a character holding a rifle. When you need states, transitions, or blend trees in your overlay (for example, to blend between a sword idle and a sword draw), assign an Overlay Animator Controller instead. The Overlay Animator fulfils the same role as the Overlay Pose but adds the full power of Unity’s Animator state machine.Accessing the Overlay Animator from Code
UseLayeredBlendingComponent.OverlayAnimator to read or write parameters on the active Overlay Animator Controller:
