article
README
🚀 Unity-MCP
Unity-MCP 是一个用于连接 Unity 引擎与 AI 助手的桥梁项目。它借助 JSON-RPC 协议,实现了 AI 助手与 Unity 应用程序之间的通信和交互,为开发者提供了便捷的跨平台协作方式。
🚀 快速开始
Unity-MCP 作为连接 Unity 引擎与 AI 助手的桥梁,允许通过 JSON-RPC 协议在两者之间进行通信和交互,为开发者提供了便捷的跨平台协作方式。
✨ 主要特性
- JSON-RPC 接口:项目基于 JSON-RPC 2.0 规范设计,提供了一系列 RPC 方法用于与 Unity 引擎交互。
- 工具集:提供多个功能模块,包括在 Unity 运行时环境中执行任意 C# 代码、使用点表示法查询 unity 对象、属性和方法,以及从 AILogger 中检索特定日志条目。
- 异步执行:所有操作均支持异步执行,确保高性能和响应式体验。
- 支持代码执行:支持直接在 Unity 运行时环境中执行代码片段。
- 只读访问接口:提供对 unity 对象模型的只读访问接口。
- 可扩展架构:可扩展架构设计,便于添加更多功能模块。
- 错误处理机制:强大的错误处理机制。
- 日志记录和跟踪:统一的日志记录和跟踪能力。
📦 安装指南
文档未提及安装步骤,故跳过该章节。
💻 使用示例
基础用法
执行代码
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "execute_code",
"arguments": {
"code": "Debug.Log(\"Hello from Unity!\"); return GameObject.FindObjectsOfType<GameObject>().Length;",
"timeout": 5000
}
}
}
查询对象
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "query",
"arguments": {
"query": "Camera.main.transform.position",
"timeout": 5000
}
}
}
获取日志
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "get_log_by_name",
"arguments": {
"log_name": "unity-execute-1712534400000",
"limit": 1
}
}
}
高级用法
一旦 AI 助手获得对 Unity 工具的访问权限,可以执行以下操作:
你能在这个 Unity 中执行下面的 C# 代码吗?
GameObject.Find("Player").transform.position = new Vector3(0, 1, 0);
📚 详细文档
文档未提及详细说明内容,故跳过该章节。
🔧 技术细节
文档未提及技术实现细节,故跳过该章节。
📄 许可证
本项目采用 MIT 许可证。
👨💻 作者
T Savo (@TSavo)
微信扫一扫