一键导入
unity-component
Use when users want to add, remove, or configure components like Rigidbody, Collider, AudioSource.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when users want to add, remove, or configure components like Rigidbody, Collider, AudioSource.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when working with a Unity project via MCP — creating or editing scenes, GameObjects, components, prefabs, materials, UI, lighting, navmesh, animations, terrain, C# scripts, or any other Unity Editor task.
Use when users want to run Unity tests or read test results.
Use when users want to enter play mode, select objects, undo/redo, or execute menu commands.
Use when creating, reading, editing, searching, validating, or deleting C# scripts in a Unity project.
Use when about to write or install a custom Editor script, add a [MenuItem], build a custom Editor window, or create a one-off Editor helper — to check whether a ready-to-paste template already exists in tooling/<domain>/ before reaching for Unity_CreateScript.
Use when users want to create Canvas, Button, Text, Image, or other UI elements.
| name | unity-component |
| description | Use when users want to add, remove, or configure components like Rigidbody, Collider, AudioSource. |
BATCH-FIRST: Use
*_batchskills when operating on 2+ objects to reduce API calls from N to 1.
DO NOT (common hallucinations):
component_create / component_get do not exist → use component_add (add) and component_get_properties (read)component_find does not exist → use component_list to list components on an objectcomponentType is case-sensitive — Rigidbody not rigidbody, BoxCollider not boxcolliderNamespace.ClassNameRouting:
script module's script_create first, then component_addcomponent_set_property_batchcomponent_set_enabled (not component_set_property)Object Targeting: All single-object skills accept
name(string),instanceId(int, preferred), andpath(string, hierarchy path). Provide at least one.
| Single Object | Batch Version | Use Batch When |
|---|---|---|
component_add | component_add_batch | Adding to 2+ objects |
component_remove | component_remove_batch | Removing from 2+ objects |
component_set_property | component_set_property_batch | Setting on 2+ objects |
Other Skills (no batch):
component_list - List all components on an objectcomponent_get_properties - Get component property valuescomponent_set_enabled - Enable/disable a component (Behaviour, Renderer, Collider)component_copy - Copy a component from one object to anotherAdd a component to a GameObject.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No* | GameObject name |
instanceId | int | No* | Instance ID (preferred) |
path | string | No* | Hierarchy path |
componentType | string | Yes | Component type name |
*At least one identifier required
Returns: {success, gameObject, instanceId, component, fullTypeName}
Remove a component from a GameObject.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No* | GameObject name |
instanceId | int | No* | Instance ID |
componentType | string | Yes | Component type to remove |
Returns: {success, gameObject, removed}
List all components on a GameObject.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No* | GameObject name |
instanceId | int | No* | Instance ID |
Returns: {gameObject, instanceId, path, componentCount, components: [{type, fullType, enabled}]}
Set a component property value.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No* | GameObject name |
instanceId | int | No* | Instance ID |
componentType | string | Yes | Component type |
propertyName | string | Yes | Property to set |
value | any | Cond. | New value (for basic types, vectors, colors) |
referencePath | string | No | Scene object hierarchy path (for scene references) |
referenceName | string | No | Scene object name (for scene references) |
assetPath | string | No | Project asset path (for asset references: Material, Texture, AudioClip, ScriptableObject, Prefab, etc.) |
Provide one of:
value(basic types),referencePath/referenceName(scene objects), orassetPath(project assets).
value type examples:
See ../../recipes/component/component_set_property.md for value format details and C# template.
Returns: {success, gameObject, component, property, valueSet, valueType}
Get all properties of a component.
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No* | GameObject name |
instanceId | int | No* | Instance ID |
componentType | string | Yes | Component type |
Returns: {gameObject, component, fullTypeName, properties: [{name, type, value, canWrite}], fields: [{name, type, value, isSerializable}]}
Add components to multiple objects.
Returns: {success, totalItems, successCount, failCount, results: [{success, gameObject, componentType, added}]}
See ../../recipes/component/component_add_batch.md for C# template.
Remove components from multiple objects.
Returns: {success, totalItems, successCount, failCount, results: [{success, gameObject, componentType, removed}]}
See ../../recipes/component/component_remove_batch.md for C# template.
Set properties on multiple objects.
Returns: {success, totalItems, successCount, failCount, results: [{success, gameObject, componentType, property, oldValue, newValue}]}
See ../../recipes/component/component_set_property_batch.md for C# template.
| Type | Description |
|---|---|
Rigidbody | Physics simulation |
BoxCollider | Box collision |
SphereCollider | Sphere collision |
CapsuleCollider | Capsule collision |
MeshCollider | Mesh-based collision |
CharacterController | Character movement |
| Type | Description |
|---|---|
MeshRenderer | Render meshes |
SkinnedMeshRenderer | Animated meshes |
SpriteRenderer | 2D sprites |
LineRenderer | Draw lines |
TrailRenderer | Motion trails |
| Type | Description |
|---|---|
AudioSource | Play sounds |
AudioListener | Receive audio |
| Type | Description |
|---|---|
Canvas | UI container |
Image | UI images |
Text | UI text (legacy) |
Button | Clickable button |
See ../../recipes/component/README.md for all component recipes.
component_list to verify additionscomponent_get_properties firstcomponent_copyCopy a component from one GameObject to another.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
sourceName | string | No* | null | Source GameObject name |
sourceInstanceId | int | No* | 0 | Source Instance ID |
sourcePath | string | No* | null | Source hierarchy path |
targetName | string | No* | null | Target GameObject name |
targetInstanceId | int | No* | 0 | Target Instance ID |
targetPath | string | No* | null | Target hierarchy path |
componentType | string | Yes | - | Component type to copy |
*At least one source identifier and one target identifier required
Returns: { success, source, target, componentType }
component_set_enabledEnable or disable a component (Behaviour, Renderer, Collider, etc.).
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | No* | null | GameObject name |
instanceId | int | No* | 0 | Instance ID |
path | string | No* | null | Hierarchy path |
componentType | string | Yes | - | Component type to enable/disable |
enabled | bool | No | true | Whether to enable or disable |
*At least one identifier required
Returns: { success, gameObject, componentType, enabled }
Recipe path rule: ../../recipes/component/<command>.md