unity-mcp
무엇인가
Unity 에디터 프로세스 안에 상주하는 MCP 서버다. MCP 클라이언트가 보내는 도구 호출을 받아 Unity의 씬 그래프, 에셋 데이터베이스, C# 스크립트, 테스트 러너, 프로파일러, 빌드 파이프라인을 조작한다. 디스크의 파일을 편집하는 외부 스크립트가 아니라 실행 중인 에디터에 붙는 중계 계층이라는 점이 이 도구의 자리를 규정한다.
어떻게 동작하나
구성은 양쪽으로 나뉜다. Unity 쪽에는 UPM 패키지(MCPForUnity)가 설치되어 에디터와 통신하는 서버를 띄우고, 클라이언트 쪽에서는 Python 3.10+ 런타임(uv)이 MCP 서버 프로세스를 실행한다. 노출되는 도구 진입점은 씬·에셋·스크립트·테스트·프로파일링·빌드 영역으로 나뉘며 vfx·animation·ui·testing 같은 도구 그룹으로 묶인다. Unity 인스턴스가 여러 개 떠 있으면 Multi-Instance Routing이 요청을 해당 인스턴스로 보낸다. 스크립트 편집은 Roslyn 검증을 거치고, 원격 서버 모드에서는 인증을 붙인다.
무엇과 다른가
파일 기반 코드 생성 도구와는 동작 대상이 다르다. 씬, 프리팹, 에셋 임포트 상태는 디스크의 텍스트가 아니라 실행 중인 에디터의 메모리 상태이므로, 이 도구는 그 상태를 직접 읽고 바꾼다. Unity 에디터 스크립팅이나 배치 모드 자동화를 위해 별도 C# 스크립트를 작성하던 자리를 MCP 도구 호출이 대신한다.
어떻게 쓰나
설치는 Unity Package Manager에서 git URL을 추가하는 방식이다. `https://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main`을 넣거나 OpenUPM으로 `openupm add com.coplaydev.unity-mcp`를 실행한다. 릴리스 고정은 `#v10.0.0`처럼 태그를 붙인다. 설치 후 Window → MCP for Unity → Configure All Detected Clients를 실행하면 감지된 MCP 클라이언트 설정이 자동으로 채워진다. 이후 클라이언트에서 "Create a cube at the origin and add a Rigidbody" 같은 프롬프트를 보내면 씬에 오브젝트가 생성된다.
전제와 한계
전제 조건은 Unity 2021.3 LTS부터 6.x까지, Python 3.10+와 uv, 그리고 MCP를 지원하는 클라이언트다. Claude Desktop·Code, Cursor, VS Code, Windsurf, Cline, Gemini CLI 등이 여기에 해당한다. 라이선스는 MIT이며 Unity Technologies와 무관한 독립 프로젝트다. 기여는 main이 아니라 beta 브랜치에서 분기한다.
관련 논문 1
유사 도구
- Unity-MCPUnity Editor와 빌드된 게임 런타임 안에서 MCP 서버를 띄워 AI 에이전트가 씬·에셋·컴포넌트를 직접 조작하게 하는 C# 플러그인이다.
- langflowLLM·벡터 DB·도구를 노드로 연결해 에이전트 플로우를 시각적으로 만들고, 이를 REST API나 MCP 서버로 배포하는 Python 플랫폼이다.
- serenaMCP 클라이언트에 연결해 심볼 단위 코드 검색·편집·리팩터링을 제공하는 Python 서버다. 언어 서버로 코드의 의미 구조를 해석한다.
- refly자연어로 서술한 업무 절차를 결정적 스킬로 컴파일해 Claude Code·API·웹훅으로 내보내는 Refly의 스킬 팩이다. 실행 중 개입과 버전 관리를 규칙으로 고정한다.
- code-graph-ragTree-sitter로 모노레포를 파싱해 Memgraph 지식 그래프를 만들고, 자연어로 코드를 질의·편집·최적화하는 Python CLI다.