VibeLink-Unity代理桥
使AI代理能够自主查看、操作和验证Unity项目。
VibeLink是一个混合的Unity包+MCP服务器,它允许基于CLI的AI代理(Claude Code、Cursor等)通过模型上下文协议直接访问Unity的编辑器。
状态: ✅ 工作! 看 CURRENT_STATUS.md 了解最新的测试结果和已知问题。 快速测试:Unity重启后,运行 ./test-after-restart.sh 验证所有功能是否正常工作。🎯 核心能力(“超级大国”)
🔴 力量1:眼睛(视觉验证)
- 捕获游戏视图或场景视图屏幕截图
- 查看代理实时创建的内容
- 迭代开发的视觉反馈循环
🔵 力量2:手(直接操作)
- 直接在Unity编辑器中执行C#代码
- 无需为快速操作创建文件
- 即时迭代和测试
🟢 力量3:大脑(状态查询)
- 使用类似CSS的选择器查询游戏对象状态
- 获取实际运行时值,而不仅仅是代码
- 以编程方式验证场景配置
🟡 动力4:时光机(试运行)
- 进入指定持续时间的播放模式
- 自动捕获所有日志和错误
- 自动回归测试
🚀 快速开始
先决条件
- Unity 2021.3或更高版本(支持.NET标准2.1)
- Node.js 18+(用于MCP服务器)
- 支持MCP的AI代理(Claude Code、Cursor等)
安装
1.安装Unity软件包
复制 unity-package 将文件夹放入Unity项目的 Packages 目录:
cd YourUnityProject/Packages
git clone https://github.com/vibelink/unity-vibe-link.git com.vibelink.unity或者通过包管理器添加:
- 开放团结
- 窗口→ 包管理器
- - → 从磁盘添加包
- 选择
unity-package/package.json
2.安装MCP服务器
cd mcp-server
npm install
npm run build3.配置您的AI代理
添加到您的MCP配置中(例如。, ~/.config/opencode/mcp.json 或Claude桌面配置):
{
"mcpServers": {
"vibelink-unity": {
"command": "node",
"args": ["/path/to/unity-vibe-link/mcp-server/build/index.js"]
}
}
}4.使用VibeLink启动Unity
- 打开Unity项目
- 首选
Tools → VibeLink → Start Host - 当您的代理连接时,VibeLink窗口将显示“已连接:是”
📖 使用示例
示例1:目视验证
用户: “按钮看起来偏离中心”
代理人:
1. unity_capture_view(viewType: "game")
2. [Analyzes screenshot]
3. unity_query_state(selector: "Button")
4. unity_execute_script(code: "GameObject.Find('Button').GetComponent().anchoredPosition = Vector2.zero;")
5. unity_capture_view(viewType: "game")
6. [Verifies fix]示例2:程序生成
用户: “以螺旋图案创建50个立方体”
代理人:
unity_execute_script({
code: `
for (int i = 0; i < 50; i++) {
float angle = i * 0.5f;
float radius = i * 0.2f;
Vector3 pos = new Vector3(
Mathf.Cos(angle) * radius,
i * 0.1f,
Mathf.Sin(angle) * radius
);
GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
cube.transform.position = pos;
}
`
})示例3:自动化测试
用户: “我开始的时候游戏会崩溃吗?”
代理人:
unity_run_playmode({ duration: 5.0 })
// Returns all logs/errors from 5-second playtest🛠️ 可用工具
| 工具 | 描述 | 用例 |
|---|---|---|
unity_capture_view | 屏幕截图游戏/场景视图 | 视觉验证 |
unity_execute_script | 在编辑器中运行C#代码 | 快速迭代 |
unity_query_state | 查询游戏对象状态 | 状态检查 |
unity_run_playmode | 使用日志运行游戏 | 自动测试 |
unity_ping | 检查连接 | 健康检查 |
🔒 安全功能
沙箱
- 所有代理创建的资产都转到
Assets/_AgentScratchpad/ - 防止核心项目文件损坏
看门狗(即将推出)
- 脚本执行超时
- 无限回路保护
- 资源使用监控
🏗️ 建筑
┌─────────────────┐ Named Pipe ┌──────────────────┐
│ Unity Editor │◄───────────────────────────►│ MCP Server │
│ (C# Package) │ <5ms latency │ (Node.js) │
└─────────────────┘ └──────────────────┘
▲ ▲
│ │
│ EditorWindow MCP Protocol
│ Direct API Access (JSON-RPC)
│ │
▼ ▼
┌─────────────────┐ ┌──────────────────┐
│ Unity Scene │ │ AI Agent │
│ GameObjects │ │ (Claude/Cursor) │
└─────────────────┘ └──────────────────┘📝 开发状态
- \[x\] 核心传输层(命名管道)
- \[x\] 视觉捕捉(游戏/场景视图)
- \[x\] 脚本执行框架
- \[x\] 使用选择器进行状态查询
- \[x\] 播放模式自动化
- \[x\] MCP服务器实现
- \[\]动态C#编译(Roslyn)
- \[\]高级选择器语法
- \[\]看门狗保护
- \[\]性能分析工具
- \[\]资产修改跟踪
🤝 贡献
这是一个开源项目!欢迎捐款。
开发设置
- 克隆存储库
- 在Unity 2021.3中打开Unity包+
- 跑
npm install在mcp-server/ - 使用您的AI代理进行更改和测试
📄 许可证
MIT许可证-有关详细信息,请参阅许可证文件
🔗 链接
⚠️ 免责声明
VibeLink已进入 阿尔法在生产项目中使用,风险自负。在启用代理自动化之前,始终备份您的项目。
______________________________________________________________________
为人工智能辅助游戏开发的未来而构建 🎮🤖
