
이 글에서 사용한 도구
AI 에이전트가 혼자서 Unity 게임을 만들 수 있을까? 만들 수 있다. 이제는 숫자로 잴 수 있을 만큼 평범해졌다. Stefan은 Kimi K3에게 글로만 쓴 과제 10개와 Unity의 새 커맨드라인 도구를 건네고 자리를 비웠다. 그중 여덟 개가 플레이 가능한 Unity 빌드로 돌아왔다. 총 프롬프트 22번, 무인 에이전트 시간 약 23시간, API 토큰 비용 103.34달러. 아래는 전체 세팅과 게임별 수치, 그리고 같은 모델이 언리얼 엔진에서 크게 밀린 이야기다.
모델이 C#을 쓸 수 있다는 건 이제 새롭지 않다. 2년 전부터 가능했다. 2026년 7월에 달라진 건, 그 C#을 실행하고 돌아가는 게임을 직접 보고 자기 실수를 스스로 고치는 통로를 Unity가 열었다는 점이다. 사람이 콘솔 출력을 중간에서 옮겨 나를 필요가 없어졌다.
unity auth login → Unity 6 프로젝트에 com.unity.pipeline 추가 → unity editors running 으로 확인 → 프로젝트 루트에 .mcp.json 배치 → 그 폴더에서 max thinking과 YOLO 모드로 에이전트 실행. 10분이면 끝나고, 걸리는 부분도 없으며, 모델 토큰 값을 빼면 전부 무료다.unity mcp configure 는 Claude, Cursor, VS Code, Codex, Windsurf, Cline, Zed 등 십여 개를 지원하지만 Kimi는 아직 없다. 아래 내용을 프로젝트 루트에 .mcp.json 으로 저장하고 두 경로만 자기 환경에 맞게 바꾸면 된다.
{
"mcpServers": {
"unitycli": {
"command": "C:/Users/<you>/AppData/Local/Unity/bin/unity.exe",
"args": ["mcp", "--project-path", "C:/Users/<you>/kimi-test"],
"env": { "NO_PROXY": "*", "UNITY_NO_BANNER": "1" }
}
}
}세 번째 인자는 unity editors running 이 알려주는 프로젝트 경로와 같아야 한다. 두 문자열이 어긋나면 에이전트는 아무 데도 연결되지 않는다.
테스트 10개 모두 보기
모든 과제와 결과, 모든 수치를 YouTube에서.
1. Unity CLI가 실제로 바꾼 것
Unity는 2026년 7월 20일에 이 CLI를 내놨다. 자체 완결형 unity 실행 파일 하나로 에디터를 설치하고 프로젝트 버전을 맞추고 모듈과 인증을 관리한다. CI 용도만으로도 쓸모가 있다. 에이전트 입장에서 중요한 건 그 위층이다.
이걸 에이전트 루프로 만들어 주는 성질이 두 가지다. 출력이 구조화되어 있어서 모델은 콘솔에서 긁어온 텍스트가 아니라 파싱 가능한 결과를 받는다. 그리고 에디터 자체가 자기를 설명한다. unity command 를 인자 없이 실행하면 지금 노출 중인 작업을 알려주므로, 에이전트는 하드코딩된 목록이 아니라 실행 시점에 자기 능력을 파악한다.
eval 은 밀리초 안에 답한다. 이번 테스트에서 게임 하나당 236번에서 544번까지 나온 모델 호출 수를 곱해 보면, 이건 더 이상 사소한 차이가 아니다.2. 세팅은 10분쯤
에이전트부터 설치한다
여기서는 Kimi를 쓰므로 그것이 먼저다. Kimi 사이트에서 설치 명령 하나를 실행하고 kimi login으로 로그인한다. CLI, 데스크톱 앱, 웹이 모두 같은 계정을 쓰며, 영상에서 웹을 쓴 건 채팅 기록을 화면에 보여 주기 위해서다. MCP를 지원하는 에이전트라면 무엇으로 대체해도 된다.
Unity CLI를 설치하고 로그인한다
터미널에서 한 줄. Windows라면 PowerShell에서:
$env:UNITY_CLI_CHANNEL='beta'; irm https://public-cdn.cloud.unity3d.com/hub/prod/cli/install.ps1 | iexmacOS와 Linux에서는 같은 CDN의 curl | bash 한 줄이 대응한다. 설치 스크립트가 알아서 PATH에 등록하므로 창을 닫고 다시 연 뒤 unity auth login을 실행한다. 브라우저 탭이 열리고 로그인하면(구글 계정도 된다) 터미널에 로그인 완료가 표시된다.

Unity 6 프로젝트에 pipeline 패키지를 넣는다
CLI 자체는 Unity를 관리하는 데까지다. 실행 중인 에디터와 대화하게 하려면 프로젝트에 com.unity.pipeline이 필요하다. Unity 6으로 프로젝트를 만들고(이번 테스트는 6000.4.0f1) Window → Package Management → Package Manager를 열어 com.unity.pipeline을 이름으로 설치한다. 터미널에서는 unity pipeline install이 같은 일을 한다.
이 패키지 하나로 MCP 인터페이스와 eval 지원이 함께 들어온다. 하한은 Unity 6.0 LTS이고 그 이전 버전은 지원하지 않는다.

에디터가 보이는지 확인한다
터미널에서 unity editors running을 실행한다. CLI가 지금 볼 수 있는 에디터가 프로세스 ID, 버전, 프로젝트 경로와 함께 나열된다. 여기에 내 프로젝트가 뜨면 어려운 부분은 끝난 것이다.

에이전트를 여기로 향하게 한다
지원 클라이언트라면 명령 하나면 된다. 예를 들어 unity mcp configure claude. unity mcp configure --list 를 실행하면 목록이 나온다. Claude Desktop, Claude Code, Cursor, VS Code, VS Code Insiders, Copilot CLI, Windsurf, Cline, Codex, Kiro, Trae, OpenClaw, Antigravity, Zed, Continue, 그리고 MCP Inspector.
Kimi는 아직 없으니 이 글 앞부분의 .mcp.json을 프로젝트 루트에 직접 넣는다. 참고로 올바른 명령은 unity mcp configure --list 이고 unity mcp list 가 아니다. 후자는 오류가 난다.


그 폴더에서 에이전트를 켜고 연결을 시험한다
프로젝트 폴더에서 새 대화를 열거나 거기서 CLI를 실행한다. Stefan은 max thinking과 YOLO 모드(Claude Code에서 권한 확인을 건너뛰는 것에 해당)를 설정한 뒤 연결 테스트를 시킨다. 처음 실행하면 에이전트가 .mcp.json을 직접 읽고 자기에게 무엇이 주어졌는지 파악한다.

3. 과제 10개, Unity 빌드 8개, 그리고 수치
각 테스트는 글로 쓴 과제 하나뿐이다. 참고 프로젝트 없음, 시작 템플릿 없음, 프리미티브만, 임포트 에셋 없음. 모든 과제 끝에는 검증 지시가 붙었다. “된다고 말하기 전에 직접 해 볼 것”, “동작한다고 보고하기 전에 몇 웨이브 직접 돌려볼 것” 같은 식이다. 이후 프롬프트는 비주얼 다듬기와 버그 수정이지 재작업이 아니다.
| # | 결과물 | 구동 경로 | 프롬프트 | 소요 시간 | 토큰 입력 / 출력 | API 비용 |
|---|---|---|---|---|---|---|
| 01 | Stack Tower | Unity CLI | 2 | 2시간 17분 | 283k / 124k | $9.16 |
| 02 | Spider Walker | Unity CLI | 3 | 1시간 49분 | 359k / 157k | $11.60 |
| 03 | Shader Garden | Unity CLI | 3 | 2시간 20분 | 370k / 162k | $11.97 |
| 04 | Ping Pong | Unity CLI | 2 | 1시간 34분 | 265k / 116k | $8.57 |
| 05 | Cross Road | Unity CLI | 4 | 5시간 08분 | 693k / 303k | $22.38 |
| 06 | Beat Pulse | Unity CLI | 2 | 1시간 36분 | 247k / 108k | $7.98 |
| 07 | Demolition | Unreal MCP | 3 | 약 7시간 | 미공개 | 미공개 |
| 08 | Suika Merge | Unity CLI | 3 | 4시간 37분 | 565k / 247k | $18.24 |
| 09 | NavMesh Defense | Unity CLI | 3 | 3시간 40분 | 416k / 182k | $13.44 |
| 10 | Fireworks Night | Unreal MCP | 4 | 8시간 38분 | 928k / 406k | $29.99 |
| Unity 합계 (8개) | 22 | 23시간 01분 | 3.20M / 1.40M | $103.34 | ||
비용은 Kimi K3 API 요금(100만 토큰당 입력 3달러, 캐시 0.30달러, 출력 15달러)으로 다시 계산했다. Stefan은 구독으로 돌렸고 그쪽이 더 싸다. API 환산치는 비교 기준을 맞추려고 넣은 것이다.
잘된 것들
Stack Tower는 첫 테스트였고 전체 분위기를 정했다. 프롬프트 두 개, 하나는 구축, 하나는 비주얼 개선. 결과는 플레이 가능하고 실제로 재미있다. 슬래브가 좌우로 미끄러지고, 튀어나온 부분은 잘려 파편으로 떨어지며, 탑이 높아질수록 색이 순환한다. 카메라가 살짝 왼쪽으로 치우쳤고 쌓기 애니메이션은 밋밋하지만, 누구도 코드 한 줄 건드리지 않았다.

Spider Walker는 훔쳐 갈 만한 결과물이다. 여섯 다리 워커에 애니메이션 클립도 Animator도 없다. 모든 다리는 역기구학으로 코드에서 자세를 잡고, 디딘 발은 몸이 움직여도 그 자리에 붙어 있으며, 보행은 삼각 교대다. 자기 캐릭터에 이걸 손으로 세팅하려면 어느 엔진에서든 반나절짜리 본 작업이다. 여기서는 프롬프트 3개에 1시간 49분, 그중 둘은 비주얼 다듬기였다.

Ping Pong은 열 개 중 가장 밋밋한 과제이면서 가장 무게가 실린 하나다. Stefan이 똑같은 프롬프트를 다른 엔진 위의 다른 에이전트에게도 줘서 둘을 나란히 붙여 볼 수 있게 했기 때문이다. Unity 버전은 프롬프트 두 개, 1시간 34분 만에 돌아왔다. 어두운 배경에 네온, 한쪽당 강조색 하나, 공에 붙는 잔상, 맞을 때의 팝과 작은 흔들림, 5점 선취. 일부 타격에서는 사각형 아티팩트가 아직 깜빡인다. 열 개 중 두 번째로 싼 8.57달러.

Shader Garden은 Shader Graph 없이 CG로 다섯 개 효과를 직접 쓰라는 과제였다. 디졸브, 홀로그램, 라바, 툰, 웨이브, 그리고 대조군인 기본 라이팅 구체. 다섯 중 넷이 성립했다. 실패한 건 툰이고, 애초에 구체는 툰 셰이더에 좋은 소재가 아니라 과제 쪽 책임도 있다. 에이전트가 스스로 세운 검증 기준은 훌륭했다. 컴파일에 실패한 효과는 Unity의 마젠타 오류 머티리얼로 반드시 드러나기 때문이다.

Cross Road는 이번에서 가장 완성도가 높고 Unity 쪽에서 가장 비쌌다. 앞뒤로 재생성되는 무한 차선, 키를 누를 때마다 한 칸씩 뛰는 닭, 자동차, 통나무를 타고 건너는 강, 오기 전에 경고가 나오는 철로, 그리고 계속 앞으로 밀고 오는 카메라. 뒤처지면 죽는다. 첫 패스부터 플레이가 됐고, 그래서 비주얼 패스 두 번과 버그 수정 한 번을 더 얹을 가치가 있었다. 프롬프트 4개, 5시간 8분, 22.38달러.

NavMesh Defense는 이번에서 가장 화려하지 않고 가장 쓸모 있는 결과다. 적들은 타워가 런타임에 잘라내는 NavMesh 위에서 실제로 길을 찾고, 스크립트로 박은 웨이포인트는 하나도 없다. 라우팅에 대해 아무 설명도 듣지 않은 에이전트가 구불구불한 벽 사이 최단 경로를 직접 찾아냈다. 밸런스는 엉망이고 캐논 데미지도 이상하며 체력 바는 2픽셀짜리지만, 시스템 층은 제대로 돌아간다.

모자랐던 것들
Suika Merge는 솔직한 실패다. 과일이 합쳐지는 병은 3D로 보기에 나쁘지 않고 전부 움직이지만, 같은 단계 과일이 가끔 합쳐지지 않는다. 프롬프트 3개와 4시간 37분을 써도 고쳐지지 않았다. 이번에서 가장 단순한 콘셉트가 Unity 쪽에서 두 번째로 긴 실행이 됐다.

Beat Pulse는 프로젝트에 오디오 파일을 하나도 두지 않고 모든 성부를 코드로 합성했다. 킥, 하이햇, 베이스, 패드, 92 BPM, 거기에 반응하는 비주얼라이저까지. 음악은 무작위 소음이 아니라 구조를 갖췄고 과제가 정한 기준은 만족했다. 다만 비주얼은 계속 단순했고 믹스에는 리미터가 없다. 열 개 중 가장 저렴한 7.98달러였다.

4. 언리얼 엔진이 진 지점
열 개 중 둘은 언리얼의 MCP로 돌렸다. 모델도 같고 과제를 쓴 방식도 같다. 이 둘이 표에서 가장 비싼 두 줄이고, 나머지 여덟 개가 Unity에 남은 이유이기도 하다.
가장 깔끔한 증거는 그 표 안에 없다. Ping Pong은 같은 프롬프트로 두 번 돌렸다. 한 번은 Unity CLI로, 한 번은 언리얼의 VibeUE 로. 같은 모델, 같은 과제, 같은 날. Unity는 프롬프트 두 개면 됐다. 언리얼 쪽은 같은 지점에 닿는 데 훨씬 많은 시간과 훨씬 많은 수정이 필요했고, 플레이도 약간 더 버벅였으며, 과제가 요구한 룩을 잃었다. 어디에도 발광이 없고, 1080p에서는 점수가 안 읽히고, 승리 문구는 중앙선에 잘리고, 패들은 얇은 조각이 됐다.

데몰리션 레인지는 Niagara 테스트로 기획했다. 캐논 하나, 벽돌 벽, 돌탑, 나무 헛간, 그리고 물체를 날려 버리는 무거운 포탄과 키 입력으로 걸리는 슬로모션. 파괴 물리는 괜찮게 나왔다. Niagara 이펙트는 포탄 자체가 보이지 않을 만큼 두껍게 나왔다. 여기에 약 일곱 시간이 들었다.

Fireworks Night는 영상에서 가장 비싼 실행이다. 프롬프트 4개, 8시간 38분, 입력 92.8만 토큰, 29.99달러. 밤새 돌렸고 에디터가 세 번 죽어 그때마다 재개해야 했다. 불꽃 자체는 보기 좋다. 호수 ‘반사’는 반사도 아니고 방향이 어긋난 복제 파티클일 뿐인데, 스크린샷 기반 자체 검토가 정확히 놓치는 종류의 문제다.

실제로 드는 비용
이 열 개 중 출시할 수 있는 게임은 하나도 없다. 밸런스는 어긋났고 HUD는 볼품없으며 합치기 규칙 하나는 끝내 안 고쳐졌고, 타워 디펜스는 수치를 사람이 다시 짜야 비로소 플레이할 만해진다. 그래도 이 숫자들이 말해 주는 건 있다. 작은 3D 아이디어의 프로토타입 단계가 이제 밥 한 끼 값과 내가 다른 데 있는 오후 한 나절이면 된다는 것, 그리고 어떤 엔진을 고르느냐가 그 값을 세 배로 바꾼다는 것이다. 판단과 안목과 밸런스는 여전히 사람 몫이다. 시스템 층을 손으로 타이핑하는 일만 더 이상 그렇지 않다.
엔진 속 에이전트에 대한 더 많은 글: Claude Code와 Godot MCP, 언리얼 엔진 5.8의 네이티브 MCP, 로컬 LLM으로 엔진 돌리기, 그리고 하루 만에 만든 UE5 레벨.
Stefan Vaskevich