你是否曾经希望AI能够直接在Unity编辑器中创建游戏对象、编写C#脚本、调整材质,甚至自动化整个关卡设计流程?今天要介绍的开源项目Unity自动化工具,正是为了实现这个目标而设计的。它由justinpbarnett开发,通过MCP协议在Unity与大型语言模型之间搭建起无缝通信桥梁,让AI能够以编程方式控制Unity编辑器。

项目基本信息

信息项详情
项目名称Unity自动化工具
GitHub地址https://github.com/justinpbarnett/unity-mcp
项目描述基于模型上下文协议,搭建起 Unity 与大型语言模型间的无缝通信桥梁。它助力开发人员自动化工作流,可对资源进行操作,还能以编程方式控制 Unity 编辑器,优化开发流程。
作者justinpbarnett
开源协议MIT License
开源状态公开状态
LanguagesC#, Python
支持平台Windows / macOS / Linux
最后更新2026-04-23

一、项目介绍

Unity自动化工具是一个让AI能够直接控制Unity编辑器的MCP服务器。它由两个主要组件构成:

  • Unity MCP桥接器:一个在Unity编辑器内运行的Unity包
  • Unity MCP服务器:一个本地运行的Python服务器,在桥接器和MCP客户端之间通信

通过这个工具,AI可以执行各种Unity开发任务:

  • 管理游戏对象(创建、修改、删除、查找、组件操作)
  • 管理资源(导入、创建、修改、删除)
  • 管理C#脚本(创建、读取、更新、删除)
  • 管理场景(加载、保存、创建、获取层次结构)
  • 管理着色器(CRUD操作)
  • 控制编辑器状态和设置
  • 读取控制台消息
  • 执行菜单项命令

二、核心优势

功能全面

提供了8大类工具,覆盖Unity开发的各个方面:

  • manage_gameobject:GameObject操作
  • manage_asset:资源管理
  • manage_script:C#脚本管理(支持Roslyn高级验证)
  • manage_scene:场景管理
  • manage_shader:着色器管理
  • manage_editor:编辑器控制
  • read_console:控制台消息
  • execute_menu_item:菜单命令

自然语言控制

通过自然语言指示AI执行Unity任务,例如“创建一个3D玩家控制器”、“创建一个黄色的太阳和桥梁”。

高级脚本验证

可选集成Roslyn编译器,提供完整的C#语义分析、命名空间/类型检查,捕获未定义的方法和类型。

自动化工作流

可以自动化重复的Unity开发流程,如批量创建对象、统一修改材质等。

活跃的社区支持

提供Discord社区,获取帮助、分享想法并与其他开发者合作。

三、适用场景

AI辅助游戏开发

让AI根据自然语言描述自动创建游戏对象、编写脚本、设置场景,加速原型开发。

批量资源操作

AI可以批量处理资源导入、修改和删除,节省手动操作时间。

关卡设计自动化

通过AI生成关卡布局,自动放置游戏对象、设置触发器。

代码生成与验证

AI可以生成C#脚本,并通过Roslyn进行语法和语义验证。

编辑器扩展开发

开发者可以参考此项目,创建自己的Unity MCP工具。

四、安装教程

系统要求

工具用途下载/安装方式
Git克隆仓库(可选)[https://git-scm.com/]
Python运行MCP服务器[https://python.org/] (版本要求:3.12 或更高)
uvPython包管理器pip install uv
Unity Hub & 编辑器Unity开发环境[https://unity.com] (版本要求:2020.3 LTS 或更高)
MCP客户端如Claude Desktop、Cursor等根据客户端官网下载
Roslyn可选,用于高级脚本验证通过NuGet安装

详细安装步骤

第一步:安装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

MCP服务器应该会在此过程中自动安装到你的机器上。

第二步:配置MCP客户端

方式A:自动配置(推荐)

  1. 在Unity中,转到Window -> Unity MCP
  2. 点击你使用的IDE上的“Auto Configure”
  3. 寻找绿色状态指示器 🟢 和“已连接”

方式B:手动配置

如果自动配置失败,手动编辑MCP客户端配置文件。

对于Claude Desktop(macOS)
~/Library/Application Support/Claude/claude_desktop_config.json

对于Claude Desktop(Windows)
%APPDATA%\Claude\claude_desktop_config.json

添加配置:

Windows

{
  "mcpServers": {
    "UnityMCP": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "C:\\Users\\你的用户名\\AppData\\Local\\Programs\\UnityMCP\\UnityMcpServer\\src",
        "server.py"
      ]
    }
  }
}

macOS

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

对于Claude Code

macOS

claude mcp add UnityMCP -- uv --directory /[PATH_TO]/UnityMCP/UnityMcpServer/src run server.py

Windows

claude mcp add UnityMCP -- "C:/Users/用户名/AppData/Roaming/Python/Python313/Scripts/uv.exe" --directory "C:/Users/用户名/AppData/Local/Programs/UnityMCP/UnityMcpServer/src" run server.py

第三步:安装Roslyn(可选,用于高级脚本验证)

  • 安装NuGetForUnity(Window -> NuGet Package Manager)
  • 搜索并安装Microsoft.CodeAnalysis.CSharp
  • 在Player Settings -> Scripting Define Symbols中添加USE_ROSLYN
  • 重启Unity

第四步:验证安装

  1. 打开Unity项目
  2. 检查Window -> Unity MCP窗口,确认状态为“已连接”
  3. 启动MCP客户端,尝试使用Unity工具

五、使用示例

配置完成后,你就可以在MCP客户端中使用自然语言来操作Unity编辑器了。

示例1:创建游戏对象

用户指令:“在场景中创建一个立方体,设置位置为(0,1,0),颜色为红色”

AI会调用manage_gameobject工具,创建立方体并添加材质。

示例2:编写C#脚本

用户指令:“创建一个玩家移动脚本,使用WASD控制移动”

AI会调用manage_script工具,生成C#脚本文件。如果安装了Roslyn,还会进行语法验证。

示例3:管理场景

用户指令:“保存当前场景为‘Level1’,然后创建一个新场景”

AI会调用manage_scene工具执行操作。

示例4:创建着色器

用户指令:“创建一个简单的彩色渐变着色器,应用到球体上”

AI会调用manage_shader工具生成着色器代码。

示例5:批量操作

用户指令:“在场景中创建10个随机位置的立方体,每个有不同的颜色”

AI会循环调用manage_gameobject工具,创建多个对象。

示例6:执行菜单命令

用户指令:“保存项目并构建Windows版本”

AI会调用execute_menu_item工具,执行“文件/保存项目”和“文件/构建设置”等菜单命令。

六、常见问题

问题1:Unity Bridge未运行或连接失败

解决方案:

  • 确保Unity编辑器已打开
  • 检查状态窗口:Window -> Unity MCP
  • 重启Unity

问题2:MCP客户端无法连接/服务器未启动

解决方案:

  • 验证服务器路径:检查MCP配置中的--directory路径是否正确
  • 验证uv:确保uv已安装并正常工作(pip show uv
  • 手动运行服务器测试:cd /path/to/UnityMCP/UnityMcpServer/src && uv run server.py

问题3:自动配置失败

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

问题4:脚本验证不完整

解决方案:安装Roslyn以获得完整的C#语义分析。没有Roslyn时,只进行基本的结构检查。

问题5:权限问题(macOS/Linux)

解决方案:如果服务器安装在系统位置如/usr/local/bin,请确保运行MCP客户端的用户有执行权限。考虑安装在~/bin目录下。

七、总结

Unity自动化工具是目前MCP生态中唯一专门为Unity游戏引擎设计的服务器。它将Unity编辑器的核心功能通过MCP协议开放给AI,让AI能够用自然语言控制游戏开发流程。

这个项目的最大价值在于:

  1. AI辅助开发:用自然语言创建游戏对象、编写脚本、设置场景
  2. 功能全面:覆盖GameObject、资源、脚本、场景、着色器等核心功能
  3. 高级验证:可选Roslyn集成,提供完整的C#语义分析
  4. 易于配置:支持一键自动配置,降低使用门槛
  5. 活跃社区:提供Discord社区,持续改进中

如果你是Unity开发者,并且希望用AI来加速游戏开发流程,Unity自动化工具将为你打开一扇新的大门。 让AI处理重复性的工作,你专注于游戏创意和核心玩法。

标签: 开发者工具

已有 34 条评论

    1. EliElse EliElse

      总的来说,这是Unity开发者的必备MCP工具。

    2. FayFetch FayFetch

      看完教程立刻去配置了,AI帮我创建了第一个游戏场景。

    3. GavinGrep GavinGrep

      感谢作者justinpbarnett,让Unity与AI完美结合。

    4. HollyHash HollyHash

      期待未来能支持更多的Unity功能,如光照烘焙。