使用说明

项目简介

MCP Unity编辑器桥梁(MCP Unity Bridge Asset)是一个Unity编辑器的扩展包,它充当一个WebSocket服务器,允许外部MCP客户端通过Model Context Protocol (MCP) 协议远程控制和自动化Unity编辑器的各项功能。这个桥梁资源主要设计用于与MCP服务器协同工作,特别是 MCP Unity Manager Server

主要功能点

  • WebSocket 通信: 通过WebSocket协议与MCP客户端建立稳定、安全的双向通信连接。
  • Unity 编辑器控制: 允许MCP客户端通过发送JSON格式的命令,远程执行Unity编辑器的各种操作,包括:
    • 资源管理: 创建、删除、移动、重命名、导入资源和文件夹,获取资源信息,查找资源引用。
    • GameObject 操作: 创建、查找、修改、删除GameObject,添加和移除组件。
    • 场景管理: 加载、保存、创建新场景。
  • 主线程安全: 所有Unity Editor API的调用都在Unity主线程中安全执行,避免多线程问题。
  • JSON 协议: 使用结构化的JSON格式进行命令和数据的交换,保证通信的可靠性。
  • 可扩展性: 采用模块化架构,方便用户根据需求扩展新的命令处理功能。
  • 详细日志: 提供全面的日志记录和调试功能,帮助用户追踪和解决问题。

安装步骤

  1. 打开你的Unity工程。

  2. 打开Unity的包管理器 (Window -> Package Manager)。

  3. 点击包管理器窗口左上角的 “+” 按钮。

  4. 在下拉菜单中选择 “Add package from git URL...”。

  5. 在弹出的输入框中粘贴以下Git仓库URL:

    https://github.com/bsmi021/mcp-unity-bridge-asset.git
  6. 点击 “Add” 按钮。

    Unity将自动下载并安装MCP Unity编辑器桥梁资源包到你的工程中。安装完成后,你可以在Unity编辑器的 “Tools” 菜单下找到 “MCP Bridge” 菜单。

服务器配置

MCP Unity编辑器桥梁自身即作为一个MCP服务器运行在Unity编辑器内部,等待MCP客户端连接。对于MCP客户端,你需要配置连接到此服务器的信息。以下是一个典型的JSON格式配置示例,用于连接到运行在本地Unity编辑器中的MCP Unity Bridge Asset:

{
  "serverName": "UnityEditorBridge",
  "command": "",
  "args": [],
  "transport": "websocket",
  "uri": "ws://127.0.0.1:8765/mcp"
}

配置参数说明:

  • 'serverName': 自定义的服务器名称,用于在MCP客户端中标识连接。例如 '"UnityEditorBridge"'。
  • 'command': 请留空。MCP Unity编辑器桥梁作为Unity编辑器的一部分自动运行,无需通过外部命令启动。
  • 'args': 请使用空数组 '[]'。 此桥梁不需要任何命令行启动参数。
  • 'transport': 指定传输协议,必须设置为 '"websocket"'。
  • 'uri': WebSocket连接的URI地址。默认地址为 '"ws://127.0.0.1:8765/mcp"'。其中 '127.0.0.1' 表示本地主机,'8765' 是默认的WebSocket端口,'/mcp' 是服务路径。注意: 如果需要在Unity编辑器中更改WebSocket端口,请在Unity编辑器菜单中选择 "Tools -> MCP Bridge -> Settings" 进行配置,并相应地更新此处的 'uri' 中的端口号。

重要提示: 由于MCP Unity编辑器桥梁运行在Unity编辑器内部,因此MCP客户端必须能够通过WebSocket连接到运行Unity编辑器的机器。

基本使用方法

  1. 确保已按照安装步骤将 MCP Unity编辑器桥梁资源导入到你的Unity工程中。
  2. 在Unity编辑器中,通过 "Tools -> MCP Bridge -> Settings" 菜单可以查看和修改WebSocket服务器的端口等配置。默认情况下,桥梁资源会在Unity编辑器启动时自动启动WebSocket服务器。你可以在Unity的Console窗口中查看启动日志信息。
  3. 使用任何兼容MCP协议的客户端,根据上述 “服务器配置” 中的信息,配置并连接到Unity编辑器桥梁提供的WebSocket服务地址 ('uri')。
  4. 客户端连接成功后,即可向服务器发送JSON格式的命令,以控制Unity编辑器执行各种操作。具体的命令格式和参数,请参考仓库的README文档或直接查看代码中的 'CommandHandler.cs' 文件,其中详细定义了支持的命令和参数。

信息

分类

开发者工具