Token导航 LogoToken导航TokenDH.com
Unity Creator MCP logo
AI代理stdio官方级别未说明来源级核验

Unity Creator MCP

MCP Server

Unity MCP是一个AI驱动的游戏开发助手,作为MCP客户端和Unity之间的桥梁,通过自然语言交互实现代码编写、调试支持和游戏对象管理等功能,适用于Unity游戏开发场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
AI代理DockerClaudeClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

andreathar

提供方

andreathar

最后核验

2026/5/17 20:23

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 8080:8080 ivanmurzakdev/unity-mcp-server

详细介绍

✨ AI Game Developer — Unity MCP

![MCP](https://modelcontextprotocol.io/introduction) ![OpenUPM](https://openupm.com/packages/com.ivanmurzak.unity.mcp/) ](https://hub.docker.com/r/ivanmurzakdev/unity-mcp-server) ![Unity Editor](https://unity.com/releases/editor/archive) ![Unity Runtime](https://unity.com/releases/editor/archive) ![r](https://github.com/IvanMurzak/Unity-MCP/actions/workflows/release.yml)

![Discord](https://discord.gg/cfbdMZX99G) ![Stars](https://github.com/IvanMurzak/Unity-MCP/stargazers) ![License](https://github.com/IvanMurzak/Unity-MCP/blob/main/LICENSE) ![Stand With Ukraine](https://stand-with-ukraine.pp.ua)

Unity MCP 是一款基于人工智能的游戏开发助手,在以下方面起着桥梁作用 MCP ClientUnity。只需在聊天中键入一条消息,即可使用您选择的任何高级LLM模型完成工作。有问题要解决吗?请AI修复它。 观看演示视频.

💬 加入我们的Discord服务器 -提出问题,展示你的作品,并与其他开发人员联系!

特性

  • ✔️ 自然对话 -像与人类聊天一样与人工智能聊天
  • ✔️ 代码辅助 -让AI编写代码并运行测试
  • ✔️ 调试支持 -让AI获取日志并修复错误
  • ✔️ 多个LLM提供商 -使用Anthropic、OpenAI、Microsoft或任何其他提供商的代理,没有限制
  • ✔️ 灵活部署 -通过配置在本地(stdio)和远程(http)工作
  • ✔️ 丰富的工具集 -违约范围广 MCP工具
  • ✔️ 可扩展 -创建 在项目代码中自定义MCP工具

稳定性状态

Unity版本编辑模式播放模式独立

内容

- 步骤1:安装 Unity MCP Plugin - 选项1-安装程序 - 选项2-OpenUPM命令行界面 - 步骤2:安装 MCP Client - 步骤3:配置 MCP Client - 自动配置 - 手动配置

- LLM的高级功能 - 核心能力 - 反射驱动功能

- 添加自定义 MCP Tool - 添加自定义 MCP Prompt

- 示例:AI驱动的象棋游戏机器人 - 为什么需要运行时使用?

- 变量 - 码头工人📦 - HTTP 运输 - STDIO 运输 - 自定义 port - 二进制可执行

- 是什么 MCP - 是什么 MCP Client - 是什么 MCP Server - 是什么 MCP Tool - 何时使用 MCP Tool - 是什么 MCP Resource - 何时使用 MCP Resource - 是什么 MCP Prompt - 何时使用 MCP Prompt

安装

步骤1:安装 Unity MCP Plugin

⚠️ Requirements (click)

\[!重要\] 项目路径不能包含空格 - ✅ C:/MyProjects/Project - ❌ C:/My Projects/Project

选项1-安装程序

> - 您可以双击该文件-Unity将自动打开它 > - 或者:先打开Unity编辑器,然后单击 Assets/Import Package/Custom Package,然后选择文件

选项2-OpenUPM命令行界面

openupm add com.ivanmurzak.unity.mcp

步骤2:安装 MCP Client

选择一个 MCP Client 你更喜欢——你不需要安装所有这些。这将是您与LLM交流的主要聊天窗口。

MCP协议是相当通用的,这就是为什么你可以使用任何你喜欢的MCP客户端——它和其他客户端一样流畅。唯一重要的要求是MCP客户端必须支持动态MCP工具更新。

步骤3:配置 MCP Client

自动配置

  • 开放Unity项目
  • 打开 Window/AI Game Developer (Unity-MCP)
  • 点击 Configure 在您的MCP客户端

Unity_AI

如果您的MCP客户端不在列表中,请使用窗口中显示的原始JSON将其注入MCP客户端。阅读针对您的特定MCP客户端的说明,了解如何执行此操作。

手动配置

如果自动配置因任何原因不适用于您,请使用 AI Game Developer (Unity-MCP) 窗口配置任何 MCP Client 手动。

Configure Claude Code for Windows

替换 unityProjectPath 与您的实际项目路径

claude mcp add Unity-MCP "/Library/mcp-server/win-x64/unity-mcp-server.exe" client-transport=stdio

Configure Claude Code for MacOS Apple-Silicon

替换 unityProjectPath 与您的实际项目路径

claude mcp add Unity-MCP "/Library/mcp-server/osx-arm64/unity-mcp-server" client-transport=stdio

Configure Claude Code for MacOS Apple-Intel

替换 unityProjectPath 与您的实际项目路径

claude mcp add Unity-MCP "/Library/mcp-server/osx-x64/unity-mcp-server" client-transport=stdio

Configure Claude Code for Linux x64

替换 unityProjectPath 与您的实际项目路径

claude mcp add Unity-MCP "/Library/mcp-server/linux-x64/unity-mcp-server" client-transport=stdio

Configure Claude Code for Linux arm64

替换 unityProjectPath 与您的实际项目路径

claude mcp add Unity-MCP "/Library/mcp-server/linux-arm64/unity-mcp-server" client-transport=stdio

______________________________________________________________________

使用人工智能

与你的AI(LLM)沟通 MCP Client让它做任何你想做的事。你描述的任务或想法越好,它就能更好地完成工作。

一些 MCP Clients 允许您选择不同的LLM模型。请注意此功能,因为有些型号可能比其他型号好得多。

命令示例:

Explain my scene hierarchy
Create 3 cubes in a circle with radius 2
Create metallic golden material and attach it to a sphere gameObject
确保 Agent MCP客户端中的模式已打开

LLM的高级功能

Unity MCP提供先进的工具,使LLM能够更快、更有效地工作,避免错误并在发生错误时进行自我纠正。一切都是为了高效地实现你的目标。

核心能力

  • ✔️ 代理就绪工具 -通过1-2个步骤找到你需要的任何东西
  • ✔️ 即时编译 -C#代码编译和执行使用 Roslyn 为了更快的迭代
  • ✔️ 完全资产访问 -对资产和C#脚本的读/写访问
  • ✔️ 智能反馈 -描述良好的正面和负面反馈,以正确理解问题

反射驱动功能

  • ✔️ 对象引用 -为即时C#代码提供对现有对象的引用
  • ✔️ 项目数据访问 -以可读格式完全访问整个项目数据
  • ✔️ 精细修改 -填充和修改项目中的任何数据
  • ✔️ 方法发现 -在整个代码库中查找任何方法,包括已编译的DLL文件
  • ✔️ 方法执行 -调用整个代码库中的任何方法
  • ✔️ 高级参数 -为方法调用提供任何属性,甚至是对内存中现有对象的引用
  • ✔️ Live Unity API -Unity API即时可用-即使Unity发生变化,您也可以获得全新的API
  • ✔️ 自我记录 -访问任何人可读的描述 class, method, field,或 property 通过 Description 属性

______________________________________________________________________

自定义MCP

Unity MCP 支持自定义 MCP Tool, MCP Resource,以及 MCP Prompt 项目业主开发。MCP服务器从 Unity MCP Plugin 并将其暴露给客户端。MCP通信链中的任何人都将收到有关新MCP功能的信息,LLM可能会在某个时候决定使用这些功能。

添加自定义 MCP Tool

添加自定义项 MCP Tool,您需要:

  1. 一个类与 McpPluginToolType 属性
  2. 类中的一个方法 McpPluginTool 属性
  3. *可选:* 添加一个 Description 为每个方法参数赋予属性,以帮助LLM理解它
  4. *可选:* 使用 string? optional = null 属性与 ? 以及将其标记为的默认值 optional 对于LLM
请注意,这条线 MainThread.Instance.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.Instance.Run(() =>
        {
            // do something in main thread if needed

            return $"[Success] Operation completed.";
        });
    }
}

添加自定义 MCP Prompt

MCP Prompt 允许您在与LLM的对话中注入自定义提示。它支持两个发件人角色:用户和助理。这是指示LLM执行特定任务的快速方法。您可以使用自定义数据生成提示,提供列表或任何其他相关信息。

[McpPluginPromptType]
public static class Prompt_ScriptingCode
{
    [McpPluginPrompt(Name = "add-event-system", Role = Role.User)]
    [Description("Implement UnityEvent-based communication system between GameObjects.")]
    public string AddEventSystem()
    {
        return "Create event system using UnityEvents, UnityActions, or custom event delegates for decoupled communication between game systems and components.";
    }
}

______________________________________________________________________

运行时使用情况(游戏内)

使用 Unity MCP 在您的游戏/应用程序中。使用工具、资源或提示。默认情况下,没有工具,您需要实现自定义。

UnityMcpPlugin.BuildAndStart(); // Build and start Unity-MCP-Plugin, it is required
UnityMcpPlugin.Connect(); // Start active connection with retry to Unity-MCP-Server
UnityMcpPlugin.Disconnect(); // Stop active connection and close existed connection

示例:AI驱动的象棋游戏机器人

有一个经典的国际象棋游戏。让我们将机器人逻辑外包给LLM。机器人应该使用游戏规则进行转弯。

[McpPluginToolType]
public static class ChessGameAI
{
    [McpPluginTool("chess-do-turn", Title = "Do the turn")]
    [Description("Do the turn in the chess game. Returns true if the turn was accepted, false otherwise.")]
    public static Task DoTurn(int figureId, Vector2Int position)
    {
        return MainThread.Instance.RunAsync(() => ChessGameController.Instance.DoTurn(figureId, position));
    }

    [McpPluginTool("chess-get-board", Title = "Get the board")]
    [Description("Get the current state of the chess board.")]
    public static Task GetBoard()
    {
        return MainThread.Instance.RunAsync(() => ChessGameController.Instance.GetBoardData());
    }
}

为什么需要运行时使用?

有很多用例,让我们想象一下,你正在使用机器人进行国际象棋游戏。你可以通过编写几行代码将机器人决策外包给LLM。

______________________________________________________________________

统一 MCP Server 设置

变量

无论您选择什么启动选项,它们都支持使用环境变量和命令行参数进行自定义配置。它将使用默认值,如果你只需要启动它,不要浪费时间在变量上。只要确保Unity插件也有默认值,尤其是 --port,他们应该是平等的。

环境变量命令行参数描述
UNITY_MCP_PORT--port客户端 -> 服务器 \ 服务器 连接超时(ms)(默认值:10000)
UNITY_MCP_CLIENT_TRANSPORT--client-transport客户端 -> 服务器 运输类型: stdiohttp (默认值: http)
命令行参数也支持单个选项 - 前缀(-port)以及一个完全没有前缀的选项(port).

码头工人📦

](https://hub.docker.com/r/ivanmurzakdev/unity-mcp-server)

确保Docker已安装。如果您使用的是Windows操作系统,请确保Docker Desktop已启动。

HTTP 运输

docker run -p 8080:8080 ivanmurzakdev/unity-mcp-server

MCP Client config:

{
  "mcpServers": {
    "Unity-MCP": {
      "url": "http://localhost:8080"
    }
  }
}
替换 url 如果您的真实端点托管在云中,则使用它。

STDIO 运输

为了使用该变型, MCP Client 应该启动 MCP Server 在docker中。这可以通过修改 MCP Client 配置。

docker run -t -e UNITY_MCP_CLIENT_TRANSPORT=stdio -p 8080:8080 ivanmurzakdev/unity-mcp-server

MCP Client config:

{
  "mcpServers": {
    "Unity-MCP": {
      "command": "docker",
      "args": [
        "run",
        "-t",
        "-e",
        "UNITY_MCP_CLIENT_TRANSPORT=stdio",
        "-p",
        "8080:8080",
        "ivanmurzakdev/unity-mcp-server"
      ]
    }
  }
}

自定义 port

docker run -e UNITY_MCP_PORT=123 -p 123:123 ivanmurzakdev/unity-mcp-server

MCP Client config:

{
  "mcpServers": {
    "Unity-MCP": {
      "url": "http://localhost:123"
    }
  }
}
替换 url 如果您的真实端点托管在云中,则使用它

二进制可执行

您可以启动Unity MCP Server 直接从二进制文件。您需要为您的CPU架构专门编译一个二进制文件。检查 ,它包含所有CPU架构的预编译二进制文件。

./unity-mcp-server --port 8080 --plugin-timeout 10000 --client-transport stdio

MCP Client config:

替换 `

` 与您的Unity项目路径。

{
  "mcpServers": {
    "Unity-MCP": {
      "command": "
/Library/mcp-server/win-x64/unity-mcp-server.exe",
      "args": [
        "--port=8080",
        "--plugin-timeout=10000",
        "--client-transport=stdio"
      ]
    }
  }
}

______________________________________________________________________

运作原理

Unity MCP 作为LLM和Unity之间的桥梁。它向LLM公开并解释Unity的工具,然后LLM理解界面并根据用户请求使用工具。

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

是什么 MCP

MCP-模型上下文协议。简而言之,就是 USB Type-C 对于AI,特别是LLM(大型语言模型)。它教LLM如何使用外部功能。例如在这种情况下的Unity引擎,甚至是代码中的自定义C#方法。 官方文档.

是什么 MCP Client

这是一个带有聊天窗口的应用程序。它可能有智能代理来更好地运行,它可能嵌入了先进的MCP工具。一般来说,做得好的MCP客户端是执行任务的AI成功率的50%。这就是为什么选择最佳的使用方式非常重要。

是什么 MCP Server

它是一座桥梁 MCP Client 以及“其他东西”,在这个特殊情况下,它是Unity引擎。该项目包括 MCP Server.

是什么 MCP Tool

MCP Tool 是LLM可以调用以与Unity交互的函数或方法。这些工具充当自然语言请求和实际Unity操作之间的桥梁。当你要求AI“创建立方体”或“更改材质颜色”时,它会使用MCP工具来执行这些操作。

主要特征:

  • 可执行函数 执行特定操作
  • 键入参数 描述有助于LLM了解要提供哪些数据
  • 返回值 提供有关操作成功或失败的反馈
  • 线程感知 -可以在用于Unity API调用的主线程上运行,也可以在用于繁重处理的后台线程上运行

何时使用 MCP Tool

  • 自动化重复性任务 -为您经常进行的常见操作创建工具
  • 复杂的操作 -将多个Unity API调用捆绑到一个易于使用的工具中
  • 项目特定工作流 -构建了解项目特定结构和约定的工具
  • 容易出错的任务 -创建包括验证和错误处理的工具
  • 自定义游戏逻辑 -将游戏系统暴露给人工智能,以进行动态内容创建

示例:

  • 使用特定组件创建和配置游戏对象
  • 批处理资产(纹理、材料、预制件)
  • 设置照明和后处理效果
  • 生成标高几何图形或按程序放置对象
  • 配置物理设置或碰撞层

是什么 MCP Resource

MCP Resource 提供对Unity项目中数据的只读访问。与执行操作的MCP工具不同,资源允许LLM检查和了解项目的当前状态、资产和配置。将它们视为“传感器”,为您的项目提供人工智能背景。

主要特征:

  • 只读访问 投影数据和Unity对象
  • 结构化信息 以法学硕士能够理解的格式呈现
  • 实时数据 这反映了项目的当前状态
  • 情境意识 帮助人工智能做出明智的决策

何时使用 MCP Resource

  • 项目分析 -让AI了解您的项目结构、资产和组织
  • 调试协助 -提供当前状态信息以进行故障排除
  • 智能建议 -提供AI上下文以提供更好的建议
  • 文档生成 -根据项目状态自动创建文档
  • 资产管理 -帮助AI了解可用的资产及其属性

示例:

  • 展示场景层次结构和游戏对象属性
  • 列出可用材质、纹理及其设置
  • 显示脚本依赖关系和组件关系
  • 显示当前照明设置和渲染管道配置
  • 提供有关音频源、动画和粒子系统的信息

是什么 MCP Prompt

MCP Prompt 允许您在与LLM的对话中注入预定义的提示。这些是智能模板,可以提供上下文、指令或知识来指导人工智能的行为。提示可以是静态文本,也可以根据项目的当前状态动态生成。

主要特征:

  • 情境指导 这会影响人工智能的反应
  • 基于角色 -可以模拟不同的角色(用户请求或助理知识)
  • 动态内容 -可以包括实时项目数据
  • 可重复使用的模板 用于常见场景和工作流

何时使用 MCP Prompt

  • 提供领域知识 -分享特定于您项目的最佳实践和编码标准
  • 设置编码约定 -建立命名约定、体系结构模式和代码风格
  • 给出项目结构的上下文 -解释你的项目是如何组织的,为什么
  • 共享工作流程说明 -为常见任务提供分步程序
  • 注入专业知识 -添加有关特定Unity功能、第三方资产或自定义系统的信息

示例:

  • “公共方法始终使用PascalCase,私有字段始终使用camelCase”
  • “此项目使用位于Scripts/Events/中的自定义事件系统”
  • “创建UI元素时,始终将其添加到Scene/UI/MainCanvas中的Canvas中”
  • “性能至关重要-更喜欢频繁实例化对象的对象池”
  • “此项目遵循SOLID原则-解释任何架构决策”

______________________________________________________________________

贡献💙💛

我们非常感谢您的贡献。带上你的想法,让我们让游戏开发比以往任何时候都更简单!你有新的想法吗 MCP Tool 或者功能,或者你发现了一个错误并知道如何修复它?

  1. 👉 阅读开发文档
  2. 👉 分叉项目
  3. 克隆叉子并打开 ./Unity-MCP-Plugin Unity中的文件夹
  4. 在项目中实现新事物,提交,推送到GitHub
  5. 创建针对原始内容的拉取请求 Unity MCP 存储库, main 支。

目录标签

目录标签

AI代理DockerClaudeAI辅助开发本地部署Unity插件自然语言编程游戏开发工具LLM集成

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP