Unity-MCP(Unity-Multiplayer Collaboration Protocol)是一个开源工具包,用于将Unity游戏引擎与AI代理集成。它借助JSON-RPC协议,让AI代理能与Unity游戏交互,执行复杂的游戏逻辑任务。
你可以按照以下步骤,快速将AI代理集成到你的Unity游戏中,实现各种有趣的功能。
git clone https://github.com/TSavo/unity-mcp.git
cd unity-mcp
确保你已经安装了.NET SDK版本5.0或更高。若未安装,可从官方链接下载并安装。
dotnet build src/UnityMCP.sln
在appsettings.json中添加以下内容:
{
"ApiKey": "your_project_key_here",
"LogLevel": "Information"
}
日志条目包含以下字段:
id: 唯一标识符(GUID)name: 日志名称(由工具生成)data: 存储的结果数据或错误信息timestamp: 记录时间(ISO 8601格式)使用Unity查询语言(UQL)进行操作:
// 获取活动玩家列表
GET /api/players?active=true
// 创建新场景
POST /api/scenes
{
"name": "New Scene",
"settings": { ... }
}
请求示例:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "execute_code",
"arguments": {
"code": "Debug.Log(\"你好,Unity!\"); return GameObject.FindObjectsOfType().Length;" ,
"超时时间": 5000
}
}
}
响应示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"内容": [
{
"类型": "文本",
"文本": "{\"状态\":\"成功\",\"日志名称\":\"unity-execute-1712534400000\",\"结果\":{\"成功\":true,\"结果\":42,\"日志\":[\"你好,Unity!\"]}"
}
]
}
}
请求示例:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "query",
"arguments": {
"查询": "Camera.main.transform.position",
"超时时间": 5000
}
}
}
响应示例:
{
"jsonrpc": "2.0",
"id": 2,
"result": {
"内容": [
{
"类型": "文本",
"文本": "{\"x\":10.5,\"y\":-3.2,\"z\":5.8}"
}
]
}
}
使用以下命令查看日志:
dotnet run -- --query "SELECT * FROM logs"
该项目采用MIT许可证,详情请参考LICENSE文件。