/animator
Edit Unity Animator Controllers and drive runtime parameters. 编辑 Unity Animator Controller 并驱动运行时参数。
$ npx -y skills add Besty0728/Unity-Skills --skill animator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/animator
Context preview
The summary Claude sees to decide when to auto-load this skill.
Edit Unity Animator Controllers and drive runtime parameters. 编辑 Unity Animator Controller 并驱动运行时参数。
SKILL.md
animator.SKILL.mdname: unity-animator
description: Edit Unity Animator Controllers and drive runtime parameters. 编辑 Unity Animator Controller 并驱动运行时参数。
Triggers
- Setting up or wiring an Animator
- Adjusting animation state machines
- Driving animation parameters at runtime
- 搭建或连接 Animator、调整动画状态机、运行时驱动动画参数
Unity Animator Skills
Control Unity's Mecanim system — create Animator Controllers, add layers' states / transitions / parameters, assign controllers to GameObjects, set parameters at runtime, and play states.
Operating Mode
- **Approval**:查询类 skill(`animator_get_parameters` / `animator_get_info` / `animator_list_states`,源码标 `SkillMode.SemiAuto`)直接执行;其余变更类(create_controller / add_parameter / set_parameter / play / assign_controller / add_state / add_transition,标 `SkillMode.FullAuto`)需用户 grant,grant 后服务端一步执行返结果。
- **Auto / Bypass**:所有 skill 直接执行;Auto 走 AI 自我评估,Bypass 全放行。
- 本模块**不含** Delete / PlayMode / Reload / 高危 skill,无 Bypass-only 拦截项。
- `animator_set_parameter` / `animator_play` 作用于场景中已挂 Animator 的 GameObject;如果当前不在 Play mode,状态机只在 Editor 预览模式推进,效果与 runtime 不完全等价。
**DO NOT** (common hallucinations):
- `animator_create_clip` / `animator_add_clip` do not exist → AnimationClips are created via Unity Editor or asset import
- `animator_set_speed` does not exist → use `component_set_property` on Animator component with propertyName="speed"
**Routing**:
- For Timeline animation → use `timeline` module
- For component properties on Animator → use `component` module
- For animation import settings → use `importer` module
Skills Overview
| Skill | Description | |-------|-------------| | `animator_create_controller` | Create new Animator Controller | | `animator_add_parameter` | Add parameter to controller | | `animator_get_parameters` | List all parameters | | `animator_set_parameter` | Set parameter value at runtime | | `animator_play` | Play animation state | | `animator_get_info` | Get Animator component info | | `animator_assign_controller` | Assign controller to GameObject | | `animator_list_states` | List states in controller | | `animator_add_state` | Add a state to a controller layer | | `animator_add_transition` | Add a transition between two states |
---
Parameter Types
| Type | Description | Example Use | |------|-------------|-------------| | `float` | Decimal value | Speed, blend weights | | `int` | Integer value | State index | | `bool` | True/false | IsGrounded, IsRunning | | `trigger` | One-shot signal | Jump, Attack |
---
Skills
animator_create_controller
Create a new Animator Controller.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `name` | string | Yes | - | Controller name | | `folder` | string | No | "Assets/Animations" | Save folder |
**Returns**: `{success, name, path}`
animator_add_parameter
Add a parameter to a controller.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `controllerPath` | string | Yes | - | Controller asset path | | `paramName` | string | Yes | - | Parameter name | | `paramType` | string | Yes | - | float/int/bool/trigger | | `defaultFloat` | float | No | 0 | Initial float value | | `defaultInt` | int | No | 0 | Initial int value | | `defaultBool` | bool | No | false | Initial bool value |
animator_get_parameters
Get all parameters from a controller.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `controllerPath` | string | Yes | Controller asset path |
**Returns**: `{controller, parameters: [{name, type, defaultFloat, defaultInt, defaultBool}]}`
animator_set_parameter
Set a parameter value at runtime (supports `name`/`instanceId`/`path`).
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `name` | string | No* | GameObject name | | `instanceId` | int | No* | GameObject instance ID | | `path` | string | No* | GameObject hierarchy path | | `paramName` | string | Yes | Parameter name | | `paramType` | string | Yes | float/int/bool/trigger | | `floatValue` | float | No* | Float value | | `intValue` | int | No* | Integer value | | `boolValue` | bool | No* | Boolean value |
*At least one identifier required. Use the appropriate value for paramType (trigger doesn't need a value).
animator_play
Play a specific animation state (supports `name`/`instanceId`/`path`).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `name` | string | No* | - | GameObject name | | `instanceId` | int | No* | 0 | GameObject instance ID | | `path` | string | No* | null | GameObject hierarchy path | | `stateName` | string | Yes | - | Animation state name | | `layer` | int | No | 0 | Animator layer | | `normalizedTime` | float | No | 0 | Start time (0-1) |
*At least one identifier required.
animator_get_info
Get Animator component information (supports `name`/`instanceId`/`path`).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `name` | string | No | null | GameObject name | | `instanceId` | int | No | 0 | GameObject instance ID | | `path` | string | No | null | GameObject hierarchy path |
**Returns**: `{gameObject, instanceId, hasController, controllerPath, speed, applyRootMotion, updateMode, cullingMode, layerCount, parameterCount}`
animator_assign_controller
Assign a controller to a GameObject (supports `name`/`instanceId`/`path`).
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `name` | string | No* | GameObject name | | `instanceId` | int | No* | GameObject instance ID | | `path` | string | No* | GameObject hierarchy path | | `controllerPath` | string | Yes | Controller asset path |
*At least one identifier required.
animator_list_states
List all states in a controller layer.
| Parameter | Type | Required |
Read more
name: unity-animator description: Edit Unity Animator Controllers and drive runtime parameters. 编辑 Unity Animator Controller 并驱动运行时参数。
Triggers
- Setting up or wiring an Animator
- Adjusting animation state machines
- Driving animation parameters at runtime
- 搭建或连接 Animator、调整动画状态机、运行时驱动动画参数
Unity Animator Skills
Control Unity's Mecanim system — create Animator Controllers, add layers' states / transitions / parameters, assign controllers to GameObjects, set parameters at runtime, and play states.
Operating Mode
- **Approval**:查询类 skill(`animator_get_parameters` / `animator_get_info` / `animator_list_states`,源码标 `SkillMode.SemiAuto`)直接执行;其余变更类(create_controller / add_parameter / set_parameter / play / assign_controller / add_state / add_transition,标 `SkillMode.FullAuto`)需用户 grant,grant 后服务端一步执行返结果。
- **Auto / Bypass**:所有 skill 直接执行;Auto 走 AI 自我评估,Bypass 全放行。
- 本模块**不含** Delete / PlayMode / Reload / 高危 skill,无 Bypass-only 拦截项。
- `animator_set_parameter` / `animator_play` 作用于场景中已挂 Animator 的 GameObject;如果当前不在 Play mode,状态机只在 Editor 预览模式推进,效果与 runtime 不完全等价。
**DO NOT** (common hallucinations):
- `animator_create_clip` / `animator_add_clip` do not exist → AnimationClips are created via Unity Editor or asset import
- `animator_set_speed` does not exist → use `component_set_property` on Animator component with propertyName="speed"
**Routing**:
- For Timeline animation → use `timeline` module
- For component properties on Animator → use `component` module
- For animation import settings → use `importer` module
Skills Overview
| Skill | Description | |-------|-------------| | `animator_create_controller` | Create new Animator Controller | | `animator_add_parameter` | Add parameter to controller | | `animator_get_parameters` | List all parameters | | `animator_set_parameter` | Set parameter value at runtime | | `animator_play` | Play animation state | | `animator_get_info` | Get Animator component info | | `animator_assign_controller` | Assign controller to GameObject | | `animator_list_states` | List states in controller | | `animator_add_state` | Add a state to a controller layer | | `animator_add_transition` | Add a transition between two states |
---
Parameter Types
| Type | Description | Example Use | |------|-------------|-------------| | `float` | Decimal value | Speed, blend weights | | `int` | Integer value | State index | | `bool` | True/false | IsGrounded, IsRunning | | `trigger` | One-shot signal | Jump, Attack |
---
Skills
animator_create_controller
Create a new Animator Controller.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `name` | string | Yes | - | Controller name | | `folder` | string | No | "Assets/Animations" | Save folder |
**Returns**: `{success, name, path}`
animator_add_parameter
Add a parameter to a controller.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `controllerPath` | string | Yes | - | Controller asset path | | `paramName` | string | Yes | - | Parameter name | | `paramType` | string | Yes | - | float/int/bool/trigger | | `defaultFloat` | float | No | 0 | Initial float value | | `defaultInt` | int | No | 0 | Initial int value | | `defaultBool` | bool | No | false | Initial bool value |
animator_get_parameters
Get all parameters from a controller.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `controllerPath` | string | Yes | Controller asset path |
**Returns**: `{controller, parameters: [{name, type, defaultFloat, defaultInt, defaultBool}]}`
animator_set_parameter
Set a parameter value at runtime (supports `name`/`instanceId`/`path`).
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `name` | string | No* | GameObject name | | `instanceId` | int | No* | GameObject instance ID | | `path` | string | No* | GameObject hierarchy path | | `paramName` | string | Yes | Parameter name | | `paramType` | string | Yes | float/int/bool/trigger | | `floatValue` | float | No* | Float value | | `intValue` | int | No* | Integer value | | `boolValue` | bool | No* | Boolean value |
*At least one identifier required. Use the appropriate value for paramType (trigger doesn't need a value).
animator_play
Play a specific animation state (supports `name`/`instanceId`/`path`).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `name` | string | No* | - | GameObject name | | `instanceId` | int | No* | 0 | GameObject instance ID | | `path` | string | No* | null | GameObject hierarchy path | | `stateName` | string | Yes | - | Animation state name | | `layer` | int | No | 0 | Animator layer | | `normalizedTime` | float | No | 0 | Start time (0-1) |
*At least one identifier required.
animator_get_info
Get Animator component information (supports `name`/`instanceId`/`path`).
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `name` | string | No | null | GameObject name | | `instanceId` | int | No | 0 | GameObject instance ID | | `path` | string | No | null | GameObject hierarchy path |
**Returns**: `{gameObject, instanceId, hasController, controllerPath, speed, applyRootMotion, updateMode, cullingMode, layerCount, parameterCount}`
animator_assign_controller
Assign a controller to a GameObject (supports `name`/`instanceId`/`path`).
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `name` | string | No* | GameObject name | | `instanceId` | int | No* | GameObject instance ID | | `path` | string | No* | GameObject hierarchy path | | `controllerPath` | string | Yes | Controller asset path |
*At least one identifier required.
animator_list_states
List all states in a controller layer.
| Parameter | Type | Required |
REST API-based AI-driven Unity Editor Automation Engine Let AI control Unity scenes directly through Skills 🎉 We are now indexed by DeepWiki! Got questions? Check out the AI-generated docs → The current official maintenance baseline is Unity 2022.3+.
Other skills on unity-skills.
- /addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1. 为 Unity Addressables 1.22.3/2.9.1 提供源码锚定的设计规则。
Open skill - /adr
Record Unity architecture decisions (ADR) with rationale. 记录 Unity 架构决策(ADR)与理由。
Open skill - /architecture
Advise on Unity gameplay and system architecture. 为 Unity 游戏与系统架构提供建议。
Open skill - /asmdef
Advise on Unity assembly definitions (asmdef). 为 Unity 程序集定义(asmdef)提供建议。
Open skill - /asset
Manage Unity AssetDatabase operations. 管理 Unity AssetDatabase 操作。
Open skill - /async
Advise on Unity async and lifecycle strategy. 为 Unity 异步与生命周期策略提供建议。
Open skill

