빌드해줘, 배포해줘, 실행파일 만들어줘 요청 시 사용. WebGL, Windows, macOS 빌드를 컴파일 체크부터 결과 검증까지 실행한다.
빌드 요청을 받으면 이 절차를 순서대로 실행한다.
unity-mcp-cli run-tool assets-refresh --input '{}'
SUCCESS → MCP 모드, 실패 → 수동 모드.
빌드 전 에러가 없어야 한다. 에러가 있으면 빌드가 깨진다.
unity-mcp-cli run-tool assets-refresh --input '{}'
grep -n "error CS" ~/Library/Logs/Unity/Editor.log | tail -30
에러가 있으면 수정 후 반복. 에러 0이 될 때까지 다음으로 넘어가지 않는다.
수동 모드에서 CLI도 없으면:
Unity 하단 Console 창(Ctrl+Shift+C)에서 빨간 에러가 0개인지 확인해줘.
현재 버전을 읽고 사용자에게 확인한다:
grep "bundleVersion" ProjectSettings/ProjectSettings.asset
버전 업데이트가 필요하면 YAML 직접 수정:
sed -i '' 's/bundleVersion: .*/bundleVersion: 0.2.0/' ProjectSettings/ProjectSettings.asset
수정 후 assets-refresh로 에디터에 반영.
using UnityEngine;
using UnityEditor;
public class Script
{
public static object Main()
{
var scenes = new[] { "Assets/_Project/Scenes/Main.unity" };
var path = "../Builds/WebGL";
var report = BuildPipeline.BuildPlayer(scenes, path, BuildTarget.WebGL, BuildOptions.None);
if (report.summary.result == UnityEditor.Build.Reporting.BuildResult.Succeeded)
return $"빌드 성공: {path} ({report.summary.totalSize} bytes)";
else
return $"빌드 실패: {report.summary.result}\n{report.summary.totalErrors} errors";
}
}
using UnityEngine;
using UnityEditor;
public class Script
{
public static object Main()
{
var scenes = new[] { "Assets/_Project/Scenes/Main.unity" };
var path = "../Builds/Windows/Game.exe";
var report = BuildPipeline.BuildPlayer(scenes, path, BuildTarget.StandaloneWindows64, BuildOptions.None);
if (report.summary.result == UnityEditor.Build.Reporting.BuildResult.Succeeded)
return $"빌드 성공: {path}";
else
return $"빌드 실패: {report.summary.result}";
}
}
using UnityEngine;
using UnityEditor;
public class Script
{
public static object Main()
{
var scenes = new[] { "Assets/_Project/Scenes/Main.unity" };
var path = "../Builds/macOS/Game.app";
var report = BuildPipeline.BuildPlayer(scenes, path, BuildTarget.StandaloneOSX, BuildOptions.None);
if (report.summary.result == UnityEditor.Build.Reporting.BuildResult.Succeeded)
return $"빌드 성공: {path}";
else
return $"빌드 실패: {report.summary.result}";
}
}
빌드는 수 분 걸릴 수 있다. 타임아웃에 주의.
사용자에게 안내:
- File → Build Settings (Ctrl+Shift+B) 열기.
- Platform 목록에서 WebGL (또는 원하는 플랫폼) 선택 → Switch Platform (처음이면).
- Scenes In Build 목록에 Assets/_Project/Scenes/Main.unity가 있는지 확인. 없으면 Add Open Scenes.
- Build 버튼 클릭 → 출력 폴더를 프로젝트 바깥 (예: ../Builds/WebGL) 으로 지정.
- 빌드 완료까지 대기 (WebGL은 5-15분).
빌드 결과 확인:
ls -la ../Builds/WebGL/ 2>/dev/null || ls -la ../Builds/Windows/ 2>/dev/null || ls -la ../Builds/macOS/ 2>/dev/null
빌드 로그에서 에러 확인:
grep -n "Error\|Exception" ~/Library/Logs/Unity/Editor.log | tail -20
터미널에서 빌드 폴더로 이동 후 로컬 서버 실행:
cd ../Builds/WebGL && python3 -m http.server 8080브라우저에서 http://localhost:8080 접속해서 게임 시작되는지 확인.
생성된 .exe 또는 .app 파일을 직접 실행해서 확인.
체크리스트: