Unity主控协议服务

YetAnotherUnityMcp是一个基于Unity游戏引擎的Master Control Protocol(MCP)实现,允许AI代理通过TCP协议与Unity进行实时双向交互。该系统包含Unity端的.NET/C#插件作为MCP TCP服务器和Python端的MCP客户端,支持AI代理执行C#代码、查询Unity编辑器状态、修改GameObject属性等功能。

  • by Azreal42
  • 更新于
在 GitHub 查看 Azreal42/YetAnotherUnityMcp

使用说明

基本能力

产品定位

YetAnotherUnityMcp是一个连接Unity游戏引擎与AI驱动工具的系统,通过Model Context Protocol(MCP)实现实时双向交互。

核心功能

  • 从AI代理执行Unity中的C#代码
  • 通过MCP资源查询Unity编辑器状态
  • 使用AI辅助修改GameObject属性
  • 捕获带AI驱动参数的屏幕截图
  • 获取Unity日志和调试信息
  • 列出和导航GameObject层次结构
  • 通过MCP提示提供上下文模板

适用场景

  • AI驱动的Unity场景控制
  • 自动化Unity测试
  • 实时调试和监控Unity应用
  • AI辅助的Unity开发

使用教程

使用依赖

  • Unity 2020.3或更高版本
  • Python 3.11

安装教程

Unity服务器设置

  1. 打开Unity项目
  2. 导入YetAnotherUnityMcp插件
  3. 启动TCP服务器:
    • 从菜单选择:MCP > TCP Server > Start Server
    • 或:Window > MCP Server > Start Server
  4. 记录TCP服务器地址(默认:localhost:8080)

Python客户端设置

# 克隆仓库
git clone https://github.com/yourusername/YetAnotherUnityMcp.git
cd YetAnotherUnityMcp

# 创建并激活虚拟环境
uv venv -p 3.11
source .venv/bin/activate  # Windows: .venv\Scripts\activate

# 安装开发依赖
uv pip install -e ".[dev]"

# 运行MCP客户端
python -m server.mcp_server

调试方式

# 使用MCP检查器运行客户端进行调试
fastmcp dev server/mcp_server.py

# 在Unity中使用MCP服务器窗口进行调试
# 实时监控连接和消息