# AnimatorComponent

> Talos 0.7 · Since 0.6; changed in 0.7

## Signature

```ts
export interface AnimatorComponent {
  type: "animator"
  asset: string
  states: AnimState[]
  initial: string
  parameters?: AnimParam[]
  events?: AnimEvent[]
  ik?: AnimIk[]
  pelvis?: AnimPelvis
  lookAt?: AnimLookAt
  retarget?: AnimRetarget
  /** Extra playback layers over the state machine: an upper-body action, an additive lean. */
  layers?: AnimLayer[]
  /** Joint to take root motion from instead of the rig root (a canonical name such as `Hips`, or the rig's own); see the contract. */
  rootMotionFrom?: string
  /** The rig's feet by joint name, 2 to 4 (`animator-feet-invalid`); absent, the engine picks them. See the contract. */
  feet?: string[]
}
```

Import: `import type { AnimatorComponent } from "@argus/gameplay"`

## Members

| Member | Signature | Description |
|---|---|---|
| `type` | `type: "animator"` |  |
| `asset` | `asset: string` |  |
| `states` | `states: AnimState[]` |  |
| `initial` | `initial: string` |  |
| `parameters` | `parameters?: AnimParam[]` |  |
| `events` | `events?: AnimEvent[]` |  |
| `ik` | `ik?: AnimIk[]` |  |
| `pelvis` | `pelvis?: AnimPelvis` |  |
| `lookAt` | `lookAt?: AnimLookAt` |  |
| `retarget` | `retarget?: AnimRetarget` |  |
| `layers` | `layers?: AnimLayer[]` | Extra playback layers over the state machine: an upper-body action, an additive lean. |
| `rootMotionFrom` | `rootMotionFrom?: string` | Joint to take root motion from instead of the rig root (a canonical name such as `Hips`, or the rig's own); see the contract. |
| `feet` | `feet?: string[]` | The rig's feet by joint name, 2 to 4 (`animator-feet-invalid`); absent, the engine picks them. See the contract. |
