> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kinemation.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# What the CAS Preset Wizard Creates: Assets and Prefabs

> Understand the ScriptableObjects, prefabs, and IK GameObjects the CAS preset generates — and how each piece fits into the runtime pipeline.

After you click **Apply Preset** in the setup wizard, CAS creates a set of assets in the current Project folder and modifies your character hierarchy. Understanding what was generated — and why — will save you time when you need to adjust the character later or connect your own gameplay code to the animation system.

## Generated Assets

The following files appear in your Project next to the character model:

| Asset                         | Naming Convention         | Type             | Purpose                                                     |
| ----------------------------- | ------------------------- | ---------------- | ----------------------------------------------------------- |
| CAS Settings                  | `CAS_SK_<SkeletonName>`   | ScriptableObject | Main CAS data asset — links Overlay and Procedural settings |
| Procedural Animation Settings | `PA_<SkeletonName>`       | ScriptableObject | Defines the procedural modifier stack for this character    |
| Character Skeleton Prefab     | `Skeleton_<SkeletonName>` | Prefab           | Variant of your model with CAS components attached          |
| Player Controller Prefab      | (varies)                  | Prefab           | Contains the Skeleton prefab and example controller script  |

### Character Animation Settings

The **CAS Settings** asset (prefixed `CAS_SK_`) is the central data asset for your character. Open it in the Inspector to find:

* **Blend Time** — configures blend-in and blend-out duration in seconds, plus the easing curve type used when transitioning between overlays.
* **Base Pose** — the standing idle clip CAS uses as a reference for computing additive motion at runtime.
* **Overlay Pose** — the clip representing the character's current gameplay state (weapon, item, or body condition).
* **Overlay Animator** — an optional Animator Controller that replaces the standalone Overlay Pose when you need multiple overlay states with transitions.

<Tip>
  Keep the Overlay Animator lean — it only needs states that represent distinct item or body poses. Your main locomotion logic stays in the primary Animator Controller.
</Tip>

### Procedural Animation Settings

The **Procedural Animation Settings** asset (prefixed `PA_`) lists every procedural modifier that runs for this character at runtime.

* **Character Prefab** — a reference to the root player prefab. Animation modifiers use this reference to locate your gameplay components (for example, reading velocity or aim angle via Property Bindings).
* **Modifier list** — an ordered list of animation modifiers. The order defines the execution sequence, which matters for IK-based modifiers: a Foot IK modifier must run after the Copy Bone step that feeds it the animated foot position.

<Note>
  Modifier order is not arbitrary. IK features such as **Foot IK** and **Step Modifier** depend on data produced by earlier modifiers in the stack. Reordering incorrectly will cause IK to read stale bone positions.
</Note>

To learn the purpose of each built-in modifier, see the [Animation Modifiers](/cas/character-animation-system/animation-modifiers) reference page.

### Character Skeleton Prefab

The **Skeleton prefab** (prefixed `Skeleton_`) is a Prefab Variant of your original model. CAS separates the skeleton from the main player prefab so bone data is always authoritative and easy to update.

The `CharacterSkeleton` component is attached to the topmost bone in the hierarchy (typically named `Root`, `Armature`, or `Skeleton`). It stores the full bone reference table that CAS and procedural modifiers query at runtime.

<Warning>
  Whenever you modify the character hierarchy — adding a camera socket, attaching a prop bone, or removing a bone — you must update the `CharacterSkeleton` component so its cached references stay valid.
</Warning>

<Tip>
  Make all hierarchy changes (camera sockets, attachment points) inside the **Skeleton prefab**, not on a scene instance. This keeps the prefab as the single source of truth for bone structure.
</Tip>

## Components on the Skeleton Prefab

CAS attaches three main runtime components to the root of the Skeleton prefab.

### Character Animation Component

This is the central runtime controller for the entire CAS pipeline. It is responsible for:

* Loading and switching **Character Animation Settings** at runtime (for example, swapping from a pistol overlay to a rifle overlay).
* Coordinating the **Layered Blending** and **Procedural Animation** components each frame.
* Providing the public API for playing animations and triggering full-body pose blends from gameplay code.

See [Character Animation Component](/cas/character-animation-system/character-animation-component) for the full API reference.

### Procedural Animation Component

This component manages the lifecycle of the procedural modifier stack defined in the **Procedural Animation Settings** asset. It creates modifier instances on Awake, updates them in the correct order each frame after the Animator has run, and tears them down on Destroy.

See [Procedural Animation](/cas/character-animation-system/procedural-animation) for details on adding, removing, and configuring modifiers.

### Layered Blending Component

The Layered Blending component is responsible for generating the final character pose each frame by combining:

1. The **Animator output** — your main locomotion and action states.
2. The **Overlay pose** — the current weapon or body-state animation.

**Layered Blends** define which body regions are blended and which float parameters drive the blend weight. These float values are written by the active Animation Clip's embedded curve properties at runtime — so each clip carries its own blending instructions.

See [Layered Blending](/cas/character-animation-system/layered-blending) for the full parameter reference and curve authoring workflow.

## Player Controller Prefab

The **Player Controller prefab** nests the Skeleton prefab as a child and adds the `CharacterExampleController` script. This example script handles movement, action inputs, and prop management (torch, axe, barrel, gun). It is provided as a starting point and learning reference — review it before writing your own controller.

See [Example Content](/cas/character-animation-system/example-content) for a walkthrough of the example scripts.
