Skip to main content
Glama

Ivan Murzak

Unity MCP(服务器 + 插件)

执照

图像

Unity版本编辑模式播放模式独立
2022.3.61f12022.3.61f12022.3.61f12022.3.61f1
2023.2.20f12023.2.20f12023.2.20f12023.2.20f1
6000.0.46f16000.0.46f16000.0.46f16000.0.46f1

**Unity-MCP**是 LLM 和 Unity 之间的桥梁。它向 LLM 展示并解释 Unity 的工具。LLM 能够理解界面并按照用户要求的方式使用这些工具。

使用集成的AI Connector窗口将**Unity-MCP**连接到 LLM 客户端(例如ClaudeCursor) 。同时支持自定义客户端。

该项目旨在让开发者能够尽快添加自定义工具。之后,我们的下一个目标是在玩家构建中启用相同的功能。目前,此功能仅在 Unity 编辑器中有效。

该系统具有可扩展性:您可以直接在 Unity 项目代码库中定义自定义tool ,从而向 AI 或自动化客户端开放新功能。这使得 Unity-MCP 成为构建高级工作流程、快速原型设计或将 AI 驱动功能集成到开发流程中的灵活基础。

人工智能工具

游戏对象

  • ✅ 创建
  • ✅ 摧毁
  • ✅ 查找
  • ✅ 修改(标签、图层、名称、静态)
  • ✅ 设置父级
  • ✅ 重复
游戏对象.组件
  • ✅ 添加组件
  • ✅ 获取组件
  • ✅ 修改组件
    • Field设置值
    • Property设置值
    • Reference链接集
  • ✅ 销毁组件
  • 🔲 删除缺失的组件

编辑

  • ✅ 状态(播放模式)
    • ✅ 获取
    • ✅ 设置
  • ✅ 获取 Windows
  • ✅ 层
    • ✅ 全部获取
    • ✅ 添加
    • ✅ 删除
  • ✅ 标签
    • ✅ 全部获取
    • ✅ 添加
    • ✅ 删除
  • ✅ 执行MenuItem
  • 🔲 运行测试
编辑精选
  • ✅ 获得选择
  • ✅ 设置选择

预制件

  • ✅ 实例化
  • 🔲 创建
  • ✅ 开放
  • ✅ 修改 (GameObject.Modify)
  • ✅ 保存
  • ✅ 关闭

包裹

  • 🔲 安装
  • 🔲 安装
  • 🔲 删除
  • 🔲 更新

资产

  • ✅ 创建
  • ✅ 查找
  • ✅ 刷新
  • ✅ 阅读
  • ✅ 修改
  • ✅ 重命名
  • ✅ 删除
  • ✅ 移动
  • ✅ 创建文件夹

场景

  • ✅ 创建
  • ✅ 保存
  • ✅ 加载
  • ✅ 卸载
  • ✅ 装载
  • ✅ 获取层次结构
  • 🔲 搜索(编辑器)
  • 🔲 射线投射(了解体积)

材料

  • ✅ 创建
  • ✅ 修改 (Assets.Modify)
  • ✅ 读取(Assets.Read)
  • ✅ 分配给 GameObject 上的组件

着色器

  • ✅ 列出全部

脚本

  • ✅ 阅读
  • ✅ 更新或创建
  • ✅ 删除

可编写脚本的对象

  • 🔲 创建
  • 🔲 阅读
  • 🔲 修改
  • 🔲 删除

调试

  • 🔲 读取日志(控制台)

成分

  • ✅ 全部获取

图例: ✅ = 已实施且可用,🔲 = 计划中 / 尚未实施

安装

  1. 安装 .NET 9.0
  2. 安装 OpenUPM-CLI
  • 在 Unity 项目文件夹中打开命令行
  • 运行命令
openupm add com.ivanmurzak.unity.mcp

用法

  1. 确保您的项目路径没有空格符号“ ”。
  • C:/MyProjects/Project
  • C:/My Projects/Project
  1. 打开 Unity 项目,转到 👉 Window/AI Connector (Unity-MCP)

Unity\_WaSRb5FIAR

  1. 安装 MCP 客户端
  1. 登录 MCP 客户端
  2. 单击 MCP 客户端上的Configure

图像

  1. 重新启动您的 MCP 客户端。
  2. 重启后,请确保AI Connector处于“已连接”或“正在连接...”状态。
  3. 在客户端(Cursor、Claude Desktop)中测试AI连接。在聊天中输入任何问题或任务。例如:
Explain my scene hierarchy

添加自定义tool

⚠️ 它仅适用于支持动态工具列表更新的 MCP 客户端。

Unity-MCP 旨在支持项目所有者开发自定义tool 。MCP 服务器从 Unity 插件获取数据并将其公开给客户端。因此,MCP 通信链中的任何人都可以收到有关新tool的信息。LLM 可能会在某个时刻决定调用哪个工具。

要添加自定义tool ,您需要:

  1. 拥有一个具有属性McpPluginToolType类。
  2. 在类中有一个带有属性McpPluginTool方法。
  3. [可选] 为每个方法参数添加Description属性,以便 LLM 理解它。
  4. [可选] 使用带有 ? 和默认值的 string ?``string? optional = null属性将其标记为 LLM 的optional

看一下MainThread.Run(() =>这一行,它允许在主线程中运行与 Unity API 交互所需的代码。如果您不需要它并且在后台线程中运行该工具就可以了,那么出于效率目的,请不要使用主线程。

[McpPluginToolType] public class Tool_GameObject { [McpPluginTool ( "MyCustomTask", Title = "Create a new GameObject" )] [Description("Explain here to LLM what is this, when it should be called.")] public string CustomTask ( [Description("Explain to LLM what is this.")] string inputData ) { // do anything in background thread return MainThread.Run(() => { // do something in main thread if needed return $"[Success] Operation completed."; }); } }

添加自定义游戏内tool

⚠️ 尚不支持。支持工作正在进行中

贡献

请随意将新tool添加到项目中。

  1. 分叉该项目。
  2. 在您分叉的存储库中实现新tool
  3. 在原始Unity-MCP存储库中创建 Pull 请求。
-
security - not tested
A
license - permissive license
-
quality - not tested

对 Unity 项目进行无缝自动化和智能控制。通过与 MCP 服务器和客户端集成,它允许 AI 代理或外部工具与您的 Unity 环境交互,从而创建、修改和管理游戏对象、组件、资源、场景等。

  1. 人工智能工具
    1. 游戏对象
    2. 编辑
    3. 预制件
    4. 包裹
    5. 资产
    6. 场景
    7. 材料
    8. 着色器
    9. 脚本
    10. 可编写脚本的对象
    11. 调试
    12. 成分
  2. 安装
    1. 用法
      1. 添加自定义tool
        1. 添加自定义游戏内tool
          1. 贡献

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              MCP Unity Server to integrate Unity Editor game engine with different AI Model clients (e.g. Claude Desktop, Windsurf, Cursor)
              Last updated -
              5
              647
              MIT License
              • Apple
            • -
              security
              A
              license
              -
              quality
              A Unity Master Control Protocol implementation that allows AI agents to control and interact with Unity, enabling them to execute code, query editor state, modify GameObjects, and capture screenshots through a WebSocket-based communication system.
              Last updated -
              7
              MIT License
              • Linux
              • Apple
            • -
              security
              F
              license
              -
              quality
              Unreal-Blender MCP is a unified server for controlling both Blender and Unreal Engine via AI agents using the MCP (Machine Control Protocol) approach.
              Last updated -
              Python
              • Linux
              • Apple
            • -
              security
              A
              license
              -
              quality
              An MCP server that bridges AI agents with GUI automation capabilities, allowing them to control mouse, keyboard, windows, and take screenshots to interact with desktop applications.
              Last updated -
              Python
              MIT License
              • Apple
              • Linux

            View all related MCP servers

            MCP directory API

            We provide all the information about MCP servers via our MCP API.

            curl -X GET 'https://glama.ai/api/mcp/v1/servers/IvanMurzak/Unity-MCP'

            If you have feedback or need assistance with the MCP directory API, please join our Discord server