Unity编辑器LLM连接工具

Unity MCP是一个连接Unity编辑器和大型语言模型(LLM)的桥梁,通过本地MCP客户端实现AI助手直接与Unity编辑器交互,管理资产、控制场景、编辑脚本和自动化任务。

  • by elif2025
  • 本地部署
  • 更新于
在 GitHub 查看 elif2025/unity-mcp

使用说明

Unity MCP✨

使用模型上下文协议将Unity编辑器连接到LLM。

Unity MCP充当桥梁,允许AI助手(如Claude、Cursor)通过本地界面直接与Unity编辑器交互 MCP(模型上下文协议)客户端给你的LLM工具来管理Unity中的资产、控制场景、编辑脚本和自动化任务。


主要特点🚀

  • 🗣️ 自然语言控制: 指导你的法学硕士执行Unity任务。
  • 🛠️ 强大的工具: 管理资源、场景、材质、脚本和编辑器功能。
  • 🤖 自动化: 自动化重复的Unity工作流程。
  • 🧩 可扩展: 设计用于与各种MCP客户端配合使用。
Expand for Available Tools...

您的LLM可以使用以下函数:

  • read_console:从控制台获取消息或清除控制台。
  • manage_script:管理C#脚本(创建、读取、更新、删除)。
  • manage_editor:控制和查询编辑器的状态和设置。
  • manage_scene:管理场景(加载、保存、创建、获取层次结构等)。
  • manage_asset:执行资产操作(导入、创建、修改、删除等)。
  • manage_gameobject:管理游戏对象:创建、修改、删除、查找和组件操作。
  • execute_menu_item:通过菜单项的路径执行菜单项(例如“文件/保存项目”)。

运作原理🤔

Unity MCP使用两个组件连接您的工具:

  1. Unity MCP桥: 编辑器内运行的Unity包。(通过软件包管理器安装)。
  2. Unity MCP服务器: 本地运行的Python服务器,在Unity Bridge和MCP客户端之间进行通信。(手动安装)。

流量: [Your LLM via MCP Client] <-> [Unity MCP Server (Python)] <-> [Unity MCP Bridge (Unity Editor)]


安装⚙️

注: 随着我们更新软件包,设置也在不断改进。如果你随机开始遇到问题,请回来查看。

先决条件

Click to view required software...
  • Git命令行界面: 用于克隆服务器代码。 下载Git
  • python 版本3.12或更高版本。 下载Python
  • Unity中心和编辑器: 版本2020.3 LTS或更新版本。 下载Unity
  • uv(Python包管理器):
    pip install uv
    # Or see: https://docs.astral.sh/uv/getting-started/installation/
    
  • MCP客户端:

步骤1:安装Unity包(桥接)

  1. 打开你的Unity项目。
  2. 首选 Window > Package Manager.
  3. 点击 + -> Add package from git URL....
  4. 输入:
    https://github.com/justinpbarnett/unity-mcp.git?path=/UnityMcpBridge
    
  5. 点击 Add.
  6. 此过程的结果是,MCP服务器应自动安装到您的计算机上。

步骤2:配置MCP客户端

将您的MCP客户端(Claude、Cursor等)连接到您在步骤1中安装的Python服务器。

选项A:自动配置(建议用于Claude/Cursor)

  1. 在Unity中,转到 Window > Unity MCP.
  2. 点击 Auto Configure Claude 或 Auto Configure Cursor.
  3. 寻找绿色状态指示器🟢 “连接”。 (这试图自动修改MCP客户端的配置文件).

选项B:手动配置

如果自动配置失败或您使用了其他客户端:

  1. 查找MCP客户端的配置文件。 (查看客户文件)。
    • 克劳德示例(macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
    • 克劳德示例(Windows): %APPDATA%\Claude\claude_desktop_config.json
  2. 编辑文件 添加/更新 mcpServers 部分,使用 精确 从步骤1开始的路径。
Click for OS-Specific JSON Configuration Snippets...

窗户:

{
  "mcpServers": {
    "UnityMCP": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\UnityMCP\\UnityMcpServer\\src",
        "server.py"
      ]
    }
    // ... other servers might be here ...
  }
}

(记得替换YOUR_USERNAME并使用双反斜杠\)

macOS:

{
  "mcpServers": {
    "UnityMCP": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/usr/local/bin/UnityMCP/UnityMcpServer/src",
        "server.py"
      ]
    }
    // ... other servers might be here ...
  }
}

(如果使用~/bin,请替换YOUR_USERNAME)

Linux:

{
  "mcpServers": {
    "UnityMCP": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/home/YOUR_USERNAME/bin/UnityMCP/UnityMcpServer/src",
        "server.py"
      ]
    }
    // ... other servers might be here ...
  }
}

(替换YOUR_USERNAME)


用法▶️

  1. 打开你的Unity项目。 Unity MCP桥(包)应自动连接。通过窗口>Unity MCP检查状态。

  2. 启动您的MCP客户端 (克劳德、Cursor等)。它应该使用安装步骤3中的配置自动启动Unity MCP服务器(Python)。

  3. 互动! Unity工具现在应该可以在您的MCP客户端中使用。

    示例提示: Create a 3D player controller.


贡献🤝

帮助Unity MCP变得更好!

  1. 分叉 主存储库。

  2. 创建分支 (feature/your-idea 或 bugfix/your-fix).

  3. 进行更改。

  4. 提交 (壮举:添加酷炫的新功能)。

  5. 推 你的分支。

  6. 打开拉取请求 反对主队。


故障排除❓

Click to view common issues and fixes...
  • Unity网桥未运行/连接:

    • 确保Unity编辑器已打开。

    • 检查状态窗口:窗口>Unity MCP。

    • 重新启动Unity。

  • MCP客户端未连接/服务器未启动:

    • 验证服务器路径: 仔细检查MCP客户端JSON配置中的--目录路径。它必须与您在安装步骤1中克隆UnityMCP存储库的位置完全匹配(例如,…/Programs/UnityMCP/UnityMcpServer/src)。

    • 验证紫外线: 确保紫外线已安装并正常工作(pip显示紫外线)。

    • 手动运行: 尝试直接从终端运行服务器以查看错误: # Navigate to the src directory first! cd /path/to/your/UnityMCP/UnityMcpServer/src uv run server.py

    • 权限(macOS/Linux): 如果您将服务器安装在/usr/local/bin等系统位置,请确保运行MCP客户端的用户有权执行uv并访问那里的文件。在~/bin中安装可能更容易。

  • 自动配置失败:

    • 使用手动配置步骤。自动配置可能缺乏写入MCP客户端配置文件的权限。

还在卡住吗? 打开问题.


许可证📜

MIT许可证。看 许可证 文件。


联系👋


致谢🙏

感谢贡献者和Unity团队。