원클릭으로
unity-mcp-workflows
Unity MCP Workflows
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Unity MCP Workflows
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Unity ScriptableObject Architecture
Unity Shaders
Unity State Machines
Registers new C# files in resources/manifests/<system>.json (files array + tests.editmode/playmode list) and validates with just validate-registry. Use when creating any new script, adding a new game system, or fixing 'orphan file' CI failures. Trigger phrases: 'add to manifest', 'register file', 'new system', 'validate registry'. Key capabilities: exact JSON manifest format, ACTIVE/DEPRECATED/EXPERIMENTAL status, dependency declarations, test class name mapping for pre-push gating via resolve_module_tests.py. Do NOT use for modifying physics logic or editing game scripts unrelated to registration.
Unity Terrain & Track Creation for RC Racing
Unity Testing, Debugging & QA
| name | unity-mcp-workflows |
| description | Unity MCP Workflows |
Use this skill when interacting with the Unity Editor from Claude Code via MCP tools, including scene manipulation, script management, test execution, and asset operations.
UnityMCP is configured in .mcp.json at the project root:
{
"mcpServers": {
"UnityMCP": {
"command": "npx",
"args": ["-y", "@anthropic/unity-mcp@latest"]
}
}
}
Prerequisites:
The following UnityMCP tools are available but not covered in detail above:
| Tool | Purpose |
|---|---|
run_tests | Run Unity Test Runner tests (EditMode/PlayMode) and retrieve results |
validate_script | Check a C# script for compilation errors without modifying it |
batch_execute | Execute multiple MCP tool calls in a single request for efficiency |
manage_probuilder | Create and modify ProBuilder meshes (track elements, ramps, barriers) |
Use run_tests after script changes to verify nothing broke. Use batch_execute when you need to create multiple GameObjects or modify multiple components in sequence -- it reduces round-trips.
Step 1: manage_script action:"modify" (or create)
Step 2: read_console log_type:"error"
Step 3: If errors → fix and repeat
Step 4: If clean → proceed
Step 1: manage_scene action:"get_hierarchy" page_size:50
Step 2: Check if there's a cursor for next page
Step 3: Continue paging until all objects are retrieved (or you found what you need)
Step 1: manage_gameobject action:"get_components" include_properties:false
→ See which components exist (lightweight response)
Step 2: manage_gameobject action:"get_components" include_properties:true
→ Only when you need actual property values
Before performing operations that depend on compilation:
Step 1: Check editor_state.isCompiling in responses
Step 2: If compiling, wait and re-check
Step 3: Only proceed when compilation is complete
When you need to create multiple GameObjects or modify multiple components in sequence, use batch_execute to reduce round-trips:
batch_execute:
calls:
- tool: manage_gameobject
params: { action: "set_component_property", ... }
- tool: manage_gameobject
params: { action: "set_component_property", ... }
| Task | Tool |
|---|---|
| Scene hierarchy queries | manage_scene with paging |
| Component property reads | manage_gameobject with include_properties |
| Script creation/modification | manage_script |
| Running tests | run_tests |
| Validating C# without saving | validate_script |
| Multiple sequential operations | batch_execute |
| ProBuilder mesh work | manage_probuilder |
| Material/shader work | manage_material |
| Issue | Solution |
|---|---|
| MCP server not connecting | Ensure Unity Editor is open and the MCP addon/package is installed and enabled |
| Tools return errors | Check read_console for Unity errors. Editor may need a script recompile. |
| Slow hierarchy queries | Use page_size parameter, start with 50. Don't query include_properties: true unnecessarily. |
| Script changes not taking effect | Check editor_state.isCompiling. Wait for compilation to complete. |
execute_script errors | Ensure the C# code is valid. Check for missing using statements. Results appear in read_console. |
| Objects not found by name | Names are case-sensitive. Use find_gameobjects to search. Hierarchy paths use / separators. |