Skip to main content
Glama
seokh1213

Seokh Unity Open MCP

by seokh1213
README.md
[![Docs](https://img.shields.io/badge/Docs-unity--mcp-4f46e5)](https://github.com/seokh1213/unity-my-mcp/tree/main/docs)
[![](https://img.shields.io/badge/Unity-000000?style=flat&logo=unity&logoColor=blue 'Unity')](https://unity.com/releases/editor/archive)
[![](https://badge.mcpx.dev?status=on 'MCP Enabled')](https://modelcontextprotocol.io/introduction)
[![](https://img.shields.io/badge/Node.js-339933?style=flat&logo=nodedotjs&logoColor=white 'Node.js')](https://nodejs.org/en/download/)
[![](https://img.shields.io/github/stars/seokh1213/unity-my-mcp 'Stars')](https://github.com/seokh1213/unity-my-mcp/stargazers)
[![](https://img.shields.io/github/last-commit/seokh1213/unity-my-mcp 'Last Commit')](https://github.com/seokh1213/unity-my-mcp/commits/main)

| **๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด** | [๐Ÿ‡บ๐Ÿ‡ธ English](README.en.md) |
|----------------|-----------------------------|

# Seokh Unity Open MCP

## ๋จผ์ €: ์ด ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋ฐ˜

> ์ด ํ”„๋กœ์ ํŠธ๋Š” **[AlexeyPerov/Unity-Open-MCP](https://github.com/AlexeyPerov/Unity-Open-MCP)๋ฅผ
> ๊ธฐ๋ฐ˜์œผ๋กœ ํ™•์žฅํ•œ ํ”„๋กœ์ ํŠธ**์ž…๋‹ˆ๋‹ค. MCP ์„œ๋ฒ„, Unity Bridge, Verify, Hub์™€ ๋Œ€๋ถ€๋ถ„์˜
> typed ๋„๊ตฌ ๊ตฌ์กฐ๋Š” AlexeyPerov์˜ ์›๋ณธ ๊ตฌํ˜„์—์„œ ์ถœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋น„๊ต ๊ธฐ์ค€์ธ Alexey upstream 0.9.0์€ 267๊ฐœ, ์ด ์ €์žฅ์†Œ๋Š” 300๊ฐœ์˜ built-in
๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰
ํ•ต์‹ฌ ๊ตฌ์กฐ์™€ ๋„๊ตฌ ๋Œ€๋ถ€๋ถ„์€ ์›๋ณธ์—์„œ ์™”๊ณ , ์ด ์ €์žฅ์†Œ๋Š” ๊ทธ ์œ„์— 33๊ฐœ ๋„๊ตฌ์™€ ํ”„๋กœ์ ํŠธ
ํ™•์žฅ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค.

Unity ํ”„๋กœ์ ํŠธ๋ฅผ AI ์—์ด์ „ํŠธ๋กœ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ MCP ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ํŽธ์ง‘๊ธฐ ์ž‘์—…, ๊ฒ€์ฆ,
์—์…‹ ๋ถ„์„, ์ง„๋‹จ ๋ฐ ํ™•์žฅ ๋„๋ฉ”์ธ์„ ์•„์šฐ๋ฅด๋Š” **300๊ฐœ typed ๋„๊ตฌ**๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

## ๊ณต์‹ MCP์™€ Alexey ์›๋ณธ์— ์—†๋Š” ์ถ”๊ฐ€ ๊ธฐ๋Šฅ

์•„๋ž˜ ํ•ญ๋ชฉ์€ Unity ๊ณต์‹ MCP์™€ AlexeyPerov/Unity-Open-MCP 0.9.0 ์–‘์ชฝ ๋ชจ๋‘์—์„œ ๊ฐ™์€
๋‚ด์žฅ ์›Œํฌํ”Œ๋กœ๋กœ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ์ด ์ €์žฅ์†Œ์˜ ์ถ”๊ฐ€๋ถ„์ž…๋‹ˆ๋‹ค. ๋ฒ”์šฉ C# ์‹คํ–‰์œผ๋กœ ๋น„์Šทํ•œ
๋™์ž‘์„ ์ง์ ‘ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ, ์•ˆ์ •๋œ schema๋ฅผ ๊ฐ€์ง„ ์ „์šฉ MCP ๋„๊ตฌ๊ฐ€ ์ œ๊ณต๋˜๋Š” ๊ฒƒ์€
๊ตฌ๋ถ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

- **Input System Play Mode ์ž๋™ํ™”**
  - ์ž…๋ ฅ ์ „์†ก๊ณผ sequence ์‹คํ–‰ยท์ทจ์†Œ
  - ์ž…๋ ฅ ๋…นํ™”, ๋ชฉ๋ก ์กฐํšŒ, replay ๋ฐ ์ค‘๋‹จ
  - ์—์ด์ „ํŠธ๊ฐ€ ์‹ค์ œ ํ”Œ๋ ˆ์ด ์ž…๋ ฅ์„ ๋ฐ˜๋ณต ์žฌํ˜„ํ•˜๋Š” ํ…Œ์ŠคํŠธ ํ๋ฆ„
- **๊ณ ๊ธ‰ Shader Graph ํŽธ์ง‘**
  - ๋…ธ๋“œ ์‚ญ์ œยท๋ณต์ œยทproperty ๋ณ€๊ฒฝ๊ณผ ์—ฐ๊ฒฐ ํ•ด์ œ
  - graph ์ €์žฅยท๋‹ซ๊ธฐ ๋ฐ subgraph ์ƒ์„ฑ
- **๊ณ ๊ธ‰ VFX Graph ํŽธ์ง‘**
  - graph ์ƒ์„ฑยท์ €์žฅยท๋‹ซ๊ธฐ
  - context ์ถ”๊ฐ€ยท์‚ญ์ œ์™€ flow ์—ฐ๊ฒฐยทํ•ด์ œ
  - block ์ถ”๊ฐ€ยท์‚ญ์ œ, property์™€ input ์ˆ˜์ •
- **์ œํ•œํ˜• C# snapshot query**
  - Unity ์ƒํƒœ๋ฅผ immutable DTO snapshot์œผ๋กœ ๋งŒ๋“  ๋’ค ์ œํ•œ๋œ ์ฝ๊ธฐ ์ „์šฉ ์ฟผ๋ฆฌ๋งŒ ์‹คํ–‰
  - ์ž„์˜ Editor C# ์‹คํ–‰๋ณด๋‹ค ์ž‘์€ ๊ถŒํ•œ๊ณผ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๊ฒฐ๊ณผ ํฌ๊ธฐ ์ œ๊ณต
- **ํ”„๋กœ์ ํŠธ ์ •์˜ MCP SDK**
  - ํ”„๋กœ์ ํŠธ C#์—์„œ tool๋ฟ ์•„๋‹ˆ๋ผ resource์™€ prompt ๋“ฑ๋ก
  - ์ค‘๋‹จ ํ›„ ์žฌ๊ฐœ ๊ฐ€๋Šฅํ•œ durable job๊ณผ `get/list/cancel` lifecycle ์ œ๊ณต
- **๋Œ€์šฉ๋Ÿ‰ ๊ฒฐ๊ณผ ์ €์žฅ์†Œ**
  - ํฐ read-only ๊ฒฐ๊ณผ๋ฅผ ํŒŒ์ผ๋กœ captureํ•˜๊ณ  chunk ๋‹จ์œ„๋กœ ์ฝ์€ ๋’ค ๋ช…์‹œ์ ์œผ๋กœ ์‚ญ์ œ
- **ํ†ตํ•ฉ `doctor`**
  - Unity๊ฐ€ ๊บผ์ ธ ์žˆ์–ด๋„ ์„ค์น˜ ๊ฒฝ๋กœ, ํŒจํ‚ค์ง€ ์กฐํ•ฉ, ๋ฒ„์ „ ํ˜ธํ™˜์„ฑ๊ณผ Bridge ์ƒํƒœ๋ฅผ ํ•จ๊ป˜ ์ง„๋‹จ

์ •์  ์นดํƒˆ๋กœ๊ทธ์— ์ถ”๊ฐ€๋œ 33๊ฐœ ๋„๊ตฌ๋Š” Input System ๋Ÿฐํƒ€์ž„ 9๊ฐœ, Shader Graph ๊ณ ๊ธ‰
ํŽธ์ง‘ 7๊ฐœ, VFX Graph ๊ณ ๊ธ‰ ํŽธ์ง‘ 11๊ฐœ, output store 4๊ฐœ, ์ œํ•œํ˜• C# query์™€
`doctor`์ž…๋‹ˆ๋‹ค.
Project SDK์˜ ๋™์  tool/resource/prompt/job์€ ํ”„๋กœ์ ํŠธ๋ณ„๋กœ ๋ฐœ๊ฒฌ๋˜๋ฏ€๋กœ ์ด 33๊ฐœ ์ˆซ์ž์—
ํฌํ•จ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

## ๊ณต์‹ Unity MCP์™€ ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฐ€

๋Œ€๋ถ€๋ถ„์˜ Unity 6 ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋จผ์ €
[Unity ๊ณต์‹ MCP](https://docs.unity3d.com/Packages/com.unity.ai.assistant@latest)๋ฅผ
๊ฒ€ํ† ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์„ค์น˜๊ฐ€ ๊ฐ„๋‹จํ•˜๊ณ  Unity๊ฐ€ ์ง์ ‘ ์œ ์ง€๋ณด์ˆ˜ํ•˜๋ฉฐ, ์‹คํ–‰ ์ค‘์ธ
Editor๋ฅผ ๋‹ค๋ฃจ๋Š” ์ผ๋ฐ˜์ ์ธ SceneยทGameObjectยทConsole ์ž‘์—…์—๋Š” ๊ณต์‹ ๊ตฌํ˜„์ด ๋”
์ž์—ฐ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

์ด ์ €์žฅ์†Œ๋Š” ๊ณต์‹ MCP์˜ ๋Œ€์ฒด์žฌ๋ผ๊ธฐ๋ณด๋‹ค ๋‹ค์Œ ์š”๊ตฌ๋ฅผ ์œ„ํ•œ ํ™•์žฅํ˜• ์ž๋™ํ™” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

| ๊ธฐ์ˆ  ๊ด€์  | Unity ๊ณต์‹ MCP | Seokh Unity Open MCP |
|---|---|---|
| ์ง€์› ํ™˜๊ฒฝ | Unity 6 ์ด์ƒ, ์‹คํ–‰ ์ค‘์ธ Editor ์ค‘์‹ฌ | Unity 2022.3 ์ด์ƒ, live Editor + headless batch + offline ์ฝ๊ธฐ |
| ์‹คํ–‰ ๊ตฌ์กฐ | Unity AI Assistant ํŒจํ‚ค์ง€์— ํ†ตํ•ฉ๋œ ๊ณต์‹ MCP ๊ฒฝ๋กœ | Node stdio MCP ์„œ๋ฒ„์™€ localhost Unity Bridge๋ฅผ ๋ถ„๋ฆฌํ•œ ๊ตฌ์กฐ |
| ์ž๋™ํ™” ๋ฒ”์œ„ | Scene, GameObject, component, console ๋“ฑ ์ผ๋ฐ˜ Editor ์ž‘์—… | 300๊ฐœ typed ๋„๊ตฌ, Shader Graph/VFX/Input System/Profiler/ํŒจํ‚ค์ง€ยท๋นŒ๋“œ ์ž‘์—… |
| ๊ฒ€์ฆ ๋ฐฉ์‹ | Editor ๊ถŒํ•œ๊ณผ Undo ์ค‘์‹ฌ | `checkpoint โ†’ mutate โ†’ validate โ†’ delta`, ํšŒ๊ท€ baseline๊ณผ ํ‘œ์  fix |
| Editor๊ฐ€ ๊บผ์ง„ ๊ฒฝ์šฐ | live project context๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ | ์—์…‹ยท๊ณ„์ธตยท์ปดํŒŒ์ผ ๋กœ๊ทธ offline ์กฐํšŒ, ์ง€์› ๋„๊ตฌ์˜ batch ์‹คํ–‰ |
| CI์™€ ๋ฐ˜๋ณต ์‹คํ–‰ | ๊ณต์‹ Unity ์ž๋™ํ™” ๊ณ„์ธต์„ ๋ณ„๋„๋กœ ๊ตฌ์„ฑ | MCP CLI, headless ํ…Œ์ŠคํŠธ, verify baseline์„ ์ €์žฅ์†Œ์— ํฌํ•จ |
| ํ™•์žฅ ๋ชจ๋ธ | ๊ณต์‹ custom MCP tool ๋“ฑ๋ก | tool๋ฟ ์•„๋‹ˆ๋ผ resource, prompt, durable project job์„ ํ”„๋กœ์ ํŠธ C#์—์„œ ๋“ฑ๋ก |

### ์–ด๋–ค ๊ฒƒ์„ ์„ ํƒํ•ด์•ผ ํ•˜๋‚˜

๊ณต์‹ MCP๋ฅผ ์„ ํƒํ•˜์„ธ์š”:

- Unity 6 ์ด์ƒ์„ ์‚ฌ์šฉํ•˜๊ณ  Editor๊ฐ€ ์ผœ์ง„ ์ƒํƒœ์—์„œ ์ฃผ๋กœ ์ž‘์—…ํ•  ๋•Œ
- ํ‘œ์ค€ Sceneยท์ฝ”๋“œยทConsole ์ž๋™ํ™”๊ฐ€ ๋ชฉ์ ์ผ ๋•Œ
- ์„ค์ •๊ณผ ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•˜๊ณ  Unity์˜ ๊ณต์‹ ์ง€์› ๊ฒฝ๋กœ๋ฅผ ์›ํ•  ๋•Œ

์ด ๊ตฌํ˜„์„ ์„ ํƒํ•  ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค:

- Unity 2022.3 ํ”„๋กœ์ ํŠธ๋„ ์ง€์›ํ•ด์•ผ ํ•  ๋•Œ
- Unity๋ฅผ ์—ด์ง€ ์•Š๊ณ  ์—์…‹์ด๋‚˜ ์ตœ๊ทผ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ์ฝ์–ด์•ผ ํ•  ๋•Œ
- headless batch์™€ CI์—์„œ ๊ฐ™์€ ๋„๊ตฌ ๊ณ„์•ฝ์„ ์žฌ์‚ฌ์šฉํ•ด์•ผ ํ•  ๋•Œ
- ๋ณ€๊ฒฝ ์ „ํ›„์˜ ํšŒ๊ท€๋ฅผ ์ž๋™ ํŒ์ •ํ•˜๊ณ  ์‹คํŒจํ•œ ๋ณ€๊ฒฝ์„ ์ค‘๋‹จํ•ด์•ผ ํ•  ๋•Œ
- Shader Graph, VFX, Input System ๋Ÿฐํƒ€์ž„ ์ž…๋ ฅ ๋“ฑ ์„ธ๋ถ„ํ™”๋œ typed ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•  ๋•Œ
- ํ”„๋กœ์ ํŠธ ์ž์ฒด ๊ธฐ๋Šฅ์„ MCP resource, prompt, ์žฅ๊ธฐ ์‹คํ–‰ job์œผ๋กœ ๋…ธ์ถœํ•ด์•ผ ํ•  ๋•Œ

์œ„ ์š”๊ตฌ๊ฐ€ ์—†๋‹ค๋ฉด ๊ณต์‹ MCP๊ฐ€ ๋” ๋‹จ์ˆœํ•œ ์„ ํƒ์ž…๋‹ˆ๋‹ค. ๋‘ ์„œ๋ฒ„๋ฅผ ๋™์‹œ์— ๊ธฐ๋ณธ ๋„๊ตฌ๋กœ
๋…ธ์ถœํ•˜๊ธฐ๋ณด๋‹ค๋Š” ํ”„๋กœ์ ํŠธ๋ณ„๋กœ ํ•˜๋‚˜๋ฅผ ์ฃผ ๊ฒฝ๋กœ๋กœ ์ •ํ•˜๋Š” ํŽธ์ด ๋„๊ตฌ ์ค‘๋ณต์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ตฌํ˜„์€ [AlexeyPerov/Unity-Open-MCP](https://github.com/AlexeyPerov/Unity-Open-MCP)๋ฅผ
๊ธฐ์ˆ ์  ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ , Unity ๊ณต์‹ MCP์˜ ์ „์†ก ๋ฐ ์ง๋ ฌํ™” ๋™์ž‘์„ ๋น„๊ตํ•ด ํ˜„์žฌ
์•„ํ‚คํ…์ฒ˜์— ๋งž๋Š” ์•ˆ์ •์„ฑ ๊ฐœ์„ ์„ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

## ์ฃผ์š” ๊ธฐ๋Šฅ

- ์ฒดํฌํฌ์ธํŠธ, ์ž๋™ ๊ฒ€์ฆ, ๋ณ€๊ฒฝ delta, ํšŒ๊ท€ ๊ฒ€์‚ฌ์™€ ํ‘œ์  ์ˆ˜์ •์„ ํฌํ•จํ•œ ์•ˆ์ „ํ•œ ๋ณ€๊ฒฝ
- ๊ตฌ์กฐํ™”๋œ ์—์…‹ ๊ฒ€์ƒ‰, ๊ฒ€์‚ฌ, ์žฌ์ง๋ ฌํ™” ๋ฐ ์ฐธ์กฐยท์˜์กด์„ฑ ๋ถ„์„
- ์ œํ•œ๋œ Unity snapshot DTO๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ์ฝ๊ธฐ ์ „์šฉ Roslyn ์ฟผ๋ฆฌ์™€ ๊ณ ๊ธ‰ ๋ณ€๊ฒฝ์šฉ
  C# ์•ˆ์ „ ๊ฒŒ์ดํŠธ
- Live Unity Bridge, ์ง€์› ๋„๊ตฌ์˜ batch fallback ๋ฐ Unity๊ฐ€ ๊บผ์ง„ ์ƒํƒœ์˜ offline ์ฝ๊ธฐ
- ์„ค์น˜ยท๋ฒ„์ „ยทBridge๋ฅผ ํ™•์ธํ•˜๋Š” `doctor`, ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ prompt recipe, live context
  resource ๋ฐ ํŒŒ์ผ ๊ธฐ๋ฐ˜ ๋Œ€์šฉ๋Ÿ‰ ๊ฒฐ๊ณผ ์ €์žฅ
- ์„ธ์…˜๋ณ„ tool group์œผ๋กœ ๋…ธ์ถœ๋˜๋Š” typed editor ๋ฐ ํ™•์žฅ ๋„๋ฉ”์ธ ์›Œํฌํ”Œ๋กœ
- ์„ค์น˜์™€ ์œ ์ง€๋ณด์ˆ˜ ์ž‘์—…์„ ๋•๋Š” Unity Hub Pro

### Live Bridge, batch fallback, offline ์ฝ๊ธฐ

๊ฐ€๋Šฅํ•˜๋ฉด ์‹คํ–‰ ์ค‘์ธ Unity Editor๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์ง€์›๋˜๋Š” ๋„๊ตฌ๋Š” headless batch๋กœ
fallbackํ•ฉ๋‹ˆ๋‹ค. Unity๊ฐ€ ๊บผ์ ธ ์žˆ์–ด๋„ ์—์…‹๊ณผ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ๋””์Šคํฌ์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

> **์˜ˆ์‹œ:** โ€œBridge๊ฐ€ ๊บผ์ ธ ์žˆ์œผ๋‹ˆ Editor ๋กœ๊ทธ์—์„œ ์ตœ๊ทผ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ๋ณด์—ฌ์ค˜.โ€

### Typed editor์™€ ํ™•์žฅ ๋„๋ฉ”์ธ

GameObject, Scene, Prefab, Material, Package๋ฟ ์•„๋‹ˆ๋ผ NavMesh, Input System,
Cinemachine, Timeline, Shader Graph ๋“ฑ์˜ ํŒจํ‚ค์ง€ ๊ธฐ๋ฐ˜ ๋„๋ฉ”์ธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

> **์˜ˆ์‹œ:** โ€œ`cinemachine` ๊ทธ๋ฃน์„ ํ™œ์„ฑํ™”ํ•˜๊ณ  Player๋ฅผ ๋”ฐ๋ผ๊ฐ€๋Š” ์นด๋ฉ”๋ผ๋ฅผ ๋งŒ๋“ค์–ด์ค˜.โ€

### ์—์ด์ „ํŠธ ๊ฐ๊ฐ๊ณผ ์ง„๋‹จ

ํ…Œ์ŠคํŠธ ๋Ÿฌ๋„ˆ, ์Šคํฌ๋ฆฐ์ƒท, Console, Profiler, ๋ฉ”๋ชจ๋ฆฌ snapshot ๋ฐ ์ด๋ฒคํŠธ pull์„ ํ†ตํ•ด
์—์ด์ „ํŠธ๊ฐ€ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•˜๊ณ  ๋‹ค์Œ ์ž‘์—…์„ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

### ์„ธ์…˜ ๋„๊ตฌ ๊ทธ๋ฃน๊ณผ Skill

๊ธฐ๋ณธ ๋„๊ตฌ ๋ชฉ๋ก์€ ์ž‘๊ฒŒ ์œ ์ง€ํ•˜๊ณ  ํ•„์š”ํ•œ ๋„๋ฉ”์ธ๋งŒ ์„ธ์…˜์—์„œ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ
Skill์€ ์—์ด์ „ํŠธ์—๊ฒŒ `๋ณ€๊ฒฝ โ†’ ๊ฒ€์ฆ โ†’ ์ˆ˜์ •` ์ ˆ์ฐจ๋ฅผ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค.

### ์•ˆ์ „ ๊ฒŒ์ดํŠธ๊ฐ€ ์ ์šฉ๋œ ๋ณ€๊ฒฝ

๋ณ€๊ฒฝ ์ž‘์—…์€ `checkpoint โ†’ mutate โ†’ validate โ†’ delta` ์ˆœ์„œ๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์„ฑ๊ณต์œผ๋กœ
๋ณด์ด๋Š” ํŽธ์ง‘์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋ง๊ฐ€๋œจ๋ฆฌ๊ธฐ ์ „์— ํšŒ๊ท€๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ค‘๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

> **์‚ฌ์šฉ์ž:** ๊ทธ Prefab์„ ์‚ญ์ œํ•ด์ค˜.
>
> **์—์ด์ „ํŠธ:** `Enemy` ์‚ญ์ œ ์˜ํ–ฅ์„ ํ™•์ธํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
>
> **๊ฒŒ์ดํŠธ:** ์‚ญ์ œํ•˜๋ฉด `Level1`๊ณผ `SpawnPoint`์— ์ƒˆ๋กœ์šด missing reference๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค.
>
> **์—์ด์ „ํŠธ:** ํšŒ๊ท€๊ฐ€ ๊ฐ์ง€๋˜์–ด ์‚ญ์ œํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฐธ์กฐ๊นŒ์ง€ ํ•จ๊ป˜ ์ˆ˜์ •ํ• ์ง€ ํ™•์ธํ•ด ์ฃผ์„ธ์š”.

์˜ˆ์‹œ prompt๋Š” [MCP ๋„๊ตฌ ๋ฌธ์„œ](docs/api/mcp-tools.md#example-prompts), ์ „์ฒด ๋„๊ตฌ
๊ณ„์•ฝ์€ [๋„๊ตฌ ์นดํƒˆ๋กœ๊ทธ](docs/api/mcp-tools.md)์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

## ๋น ๋ฅธ ์„ค์น˜

**Unity 2022.3 LTS ์ด์ƒ**์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

1. **์ˆ˜๋™ ์„ค์น˜:** [์ˆ˜๋™ ์„ค์น˜ ๋ฌธ์„œ](docs/setup/manual-setup.md)์— ๋”ฐ๋ผ Unity ํŒจํ‚ค์ง€์™€
   MCP ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ง์ ‘ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
2. **Unity Hub Pro:** [์„ค์น˜ ๋งˆ๋ฒ•์‚ฌ](docs/setup/wizard-setup.md)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
3. **๋กœ์ปฌ ์ฒดํฌ์•„์›ƒ:** [๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ค์ •](docs/setup/development-setup.md)์— ๋”ฐ๋ผ ์ €์žฅ์†Œ๋ฅผ
   ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
4. **์‹คํ—˜์  ์—์ด์ „ํŠธ ์„ค์น˜:** ๋‹ค์Œ prompt๋ฅผ AI ํด๋ผ์ด์–ธํŠธ์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ
   ์„ค์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ์ˆ˜๋™ ์„ค์น˜๋‚˜ ๋งˆ๋ฒ•์‚ฌ๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

```text
Install Unity Open MCP in this Unity project by following
https://raw.githubusercontent.com/seokh1213/unity-my-mcp/main/docs/setup/agent-setup.md
exactly. Do every agent step yourself; stop and tell me only when a human action is required.
If this monorepo is already open locally, read docs/setup/agent-setup.md from disk instead of fetching.
```

์ „์ฒด ์ ˆ์ฐจ๋Š” [์—์ด์ „ํŠธ ์„ค์น˜ ๋ฌธ์„œ](docs/setup/agent-setup.md)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

## ๋ฌธ์„œ

์‚ฌ์šฉ์ž ๋ฌธ์„œ:

- [API ์ƒ‰์ธ](docs/api.md) โ€” MCP, Bridge, resource, routing ๋ฐ ์ž๋™ํ™” ๊ณ„์•ฝ
- [ํ™•์žฅ ๊ธฐ๋Šฅ](docs/extensions.md) โ€” ํ™•์žฅ ๋„๋ฉ”์ธ, ์˜์กด์„ฑ ๋ฐ tool group ํ™œ์„ฑํ™”
- [ํ”„๋กœ์ ํŠธ ์ •์˜ MCP SDK](docs/project-sdk.md) โ€” Editor C#์œผ๋กœ Unity ๋„๊ตฌ, resource,
  prompt์™€ durable job ์ •์˜
- [๋ฌธ์ œ ํ•ด๊ฒฐ](docs/troubleshooting.md) โ€” ์—ฐ๊ฒฐ ๋ฌธ์ œ์™€ ๋ณต๊ตฌ ๋ฐฉ๋ฒ•
- [Dialog ์ •์ฑ…](docs/dialog-policy.md) โ€” ์‹œ์ž‘ modal ์ฒ˜๋ฆฌ์™€ ์ž๋™ํ™” ๊ทœ์น™
- [Skill](docs/skills.md) โ€” Unity ํ”„๋กœ์ ํŠธ์— ์„ค์น˜๋˜๋Š” ์—์ด์ „ํŠธ playbook
- [๋ฒ„์ „ ํ˜ธํ™˜์„ฑ](docs/versioning.md) โ€” ๋ฒ„์ „ ์ •๋ ฌ๊ณผ ๋ถˆ์ผ์น˜ ๋ณต๊ตฌ

๊ธฐ์—ฌ์ž ๋ฌธ์„œ:

- [์•„ํ‚คํ…์ฒ˜](docs/architecture.md) โ€” ์ €์žฅ์†Œ ๊ฒฝ๊ณ„์™€ ๋Ÿฐํƒ€์ž„ ํ๋ฆ„
- [์ฝ”๋“œ ๊ทœ์น™](docs/code-conventions.md) โ€” ์ฃผ์š” C# ๊ณ„์•ฝ

๋‹ค๋ฅธ Unity MCP์™€ ๋น„๊ตํ•˜๋ ค๋ฉด [Unity MCP ๋„๊ตฌ ๋น„๊ตํ‘œ](docs/mcp-tools-comparison.md)๋ฅผ
์ฐธ๊ณ ํ•˜์„ธ์š”.

## Unity Hub Pro

Unity Open MCP์˜ ๋ฐ์Šคํฌํ†ฑ ๋ณด์กฐ ์•ฑ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ, AI Setup ๋งˆ๋ฒ•์‚ฌ ๋ฐ
์œ ์ง€๋ณด์ˆ˜ ์ž‘์—…์„ ํ•˜๋‚˜์˜ UI์—์„œ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€
[Unity Hub Pro ๋ฌธ์„œ](docs/unity-hub-pro.md)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

## ๊ธฐ์—ฌ

- Issue ๋˜๋Š” Pull Request๋ฅผ ๋งŒ๋“ค๊ธฐ ์ „์— [CONTRIBUTING.md](CONTRIBUTING.md)๋ฅผ
  ํ™•์ธํ•˜์„ธ์š”.
- [๊ธฐ์—ฌ์ž ๋ฌธ์ œ ํ•ด๊ฒฐ](docs/troubleshooting-contributors.md)์—์„œ ๋กœ์ปฌ ํ…Œ์ŠคํŠธ, Bridge ๋ฐ
  ์ž๋™ํ™” ์˜ค๋ฅ˜ ๋Œ€์‘ ๋ฐฉ๋ฒ•์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- [Validation Suite](validation-suite/README.md)๋Š” ์ˆ˜๋™ ๊ฒ€์ฆ์„ ์œ„ํ•œ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ
  ์‹œ๋‚˜๋ฆฌ์˜ค ์•ฑ์ž…๋‹ˆ๋‹ค.
- [๋ฒ„์ „ ๋ฐ ๋ฆด๋ฆฌ์Šค](docs/contributing/versioning.md)์— ๋™๊ธฐํ™”, tag ๋ฐ ๋ฐฐํฌ ์ ˆ์ฐจ๊ฐ€
  ์ •๋ฆฌ๋ผ ์žˆ์Šต๋‹ˆ๋‹ค.