统一爱桥
Unity MCP的实验性直接桥接工具。
此存储库包含:
- 一个直接连接到Unity内置的Go CLI
UnityMCPBridge - 当地Unity配套包
Packages/src/com.hatayama.unity-ai-cli-bridge
团结管理 com.unity.ai.assistant 包被视为不可变的。\ 此项目不依赖于编辑 Library/PackageCache.
建筑
unity-ai-cli
|- status
|- doctor
|- help
|- recipes
|- tools
|- describe
|- call
|- wait
`- mcp serve
|
v
UnityMCPBridge direct IPC
|
v
Unity Editor + com.unity.ai.assistant
Packages/src/com.hatayama.unity-ai-cli-bridge
`- companion diagnostics snapshots
|
v
Library/UnityAiCliBridge/diagnostics.json
Library/UnityAiCliBridge/tools.json中继二进制文件不是此运行时路径的一部分。
需求
- Unity项目
com.unity.ai.assistant - 编辑器中启用Unity MCP
- 转到1.25或更高版本以构建CLI
- 中CLI客户端的批准
Project Settings > AI > Unity MCP
配套套餐
存储库从以下位置安装本地Unity包:
Packages/src/com.hatayama.unity-ai-cli-bridge
该软件包添加了:
- CLI的诊断快照
- 桥接诊断的编辑器菜单命令
- 同伴层的EditMode测试
该包装通过电线连接 Packages/manifest.json.
构建
go build -o ./bin/unity-ai-cli ./cmd/unity-ai-cli用法
推荐人流:
help仅查看当前启用的Unity工具help理解一个工具recipes查看面向任务的工作流call直接执行该工具
显示当前解析的网桥和伴随快照状态:
./bin/unity-ai-cli status --json诊断发现、心跳、伴随快照和可能的批准问题:
./bin/unity-ai-cli doctor --json等待桥准备就绪:
./bin/unity-ai-cli wait --for=bridge列出实时直接桥接中可用的Unity工具:
./bin/unity-ai-cli tools --json仅列出当前启用的Unity工具的人性化帮助:
./bin/unity-ai-cli help --json显示一个已启用Unity工具的详细帮助:
./bin/unity-ai-cli help Unity_GetConsoleLogs --json显示当前可用于已启用Unity工具的食谱:
./bin/unity-ai-cli recipes --json展示一个以任务为导向的食谱:
./bin/unity-ai-cli recipes inspect-console --json按目录类别筛选工具:
./bin/unity-ai-cli tools --category capture描述一个Unity工具:
./bin/unity-ai-cli describe Unity_GetConsoleLogs --json直接调用Unity工具:
./bin/unity-ai-cli call Unity_GetConsoleLogs --json-args '{"maxEntries":5,"includeStackTrace":false}'将Unity工具作为MCP stdio服务器公开:
./bin/unity-ai-cli mcp servehelp 和 recipes 由Unity当前的实时启用工具集驱动。 如果工具在中被禁用 Project Settings > AI > Unity MCP,它不会出现在那里。
审批流程
在Unity批准CLI之前,第一个直接连接可能会处于挂起状态。
如果 doctor, tools, describe, call,或 mcp serve 报告与审批相关的问题:
- 打开
Edit > Project Settings > AI > Unity MCP - 检查
Pending Connections - 批准
unity-ai-cli客户端
此批准是从Unity设置UI处理的,而不是模式对话框。
验证
构建CLI:
go build -o ./bin/unity-ai-cli ./cmd/unity-ai-cli检查启用的工具目录:
./bin/unity-ai-cli help --json
./bin/unity-ai-cli help Unity_GetConsoleLogs --json
./bin/unity-ai-cli recipes --json
./bin/unity-ai-cli recipes inspect-console --json
./bin/unity-ai-cli tools --category capture预期成果:
help --json仅列出Unity中当前启用的工具help Unity_GetConsoleLogs --json包括摘要、使用指南、论据和示例recipes --json仅列出当前启用了所需工具的食谱recipes inspect-console --json显示控制台检查工作流tools --category capture仅显示捕获工具
发展
安装本地Go质量工具:
brew install golangci-lint
go install golang.org/x/vuln/cmd/govulncheck@$(cat .govulncheck-version)验证本地工具可用性:
sh scripts/go-guardrails.sh doctor启用共享本地预提交挂钩:
git config core.hooksPath .githooksGo文件格式:
sh scripts/go-guardrails.sh fmt运行完整的本地Go护栏套件:
sh scripts/go-guardrails.sh checkgit commit 跑 fmt-check, go test, go vet,以及 golangci-lint 当阶段性更改包括Go相关文件时,会自动执行。它跳过 不涉及Go工具链或Go源文件的提交。
运行Go测试:
GOCACHE=/tmp/unity-ai-cli-bridge-go-cache go test ./...编译Unity项目:
uloop compile运行配套包EditMode测试:
uloop run-tests --test-mode EditMode --filter-type regex --filter-value "BridgeDiagnosticsServiceTests|BridgeDiagnosticsSnapshotWriterTests"运行实时端到端烟雾测试:
sh scripts/live-e2e.sh