Unity编辑器自动化服务

Unity MCP Server是一个基于LLM的Unity编辑器自动化工具,提供可靠的脚本化工作流,支持场景、UI、输入模拟等功能,适用于Unity开发效率提升。

  • by akiojin
  • JavaScript
  • 本地部署
  • 35 星标
  • 更新于
在 GitHub 查看 akiojin/unity-mcp-server

使用说明

Unity MCP服务器

[!警告] 此存储库已弃用。 发展已转向 akiojin/团结cli. 此存储库将不再接收更新。请迁移到后续项目。

英语| 日本语

概述

Unity MCP Server允许基于LLM的客户端自动化Unity编辑器。它侧重于可靠、可脚本化的工作流,具有简单的界面和零或低配置设置。

它能做什么

  • 编辑器自动化:创建/修改场景、游戏对象、组件、预制件、材质
  • UI自动化:定位UI并与UI交互,验证UI状态
  • 输入模拟:用于游戏模式测试的键盘/鼠标/游戏手柄/触摸屏(仅限输入系统)
  • 视觉捕捉:来自游戏/场景/资源管理器/窗口视图的确定性屏幕截图
  • 代码库意识:由捆绑的C#LSP提供安全的结构化编辑和准确的符号/搜索(否 .sln 需要文件)
  • 项目控制:读取/更新项目/编辑器设置;读取日志,监视编译
  • 可寻址内容管理:注册/组织资产、管理组、构建自动化

演出

代码索引工具优于标准文件操作:

操作 代码索引工具 标准工具 优势
符号查找 find_symbol grep 瞬间 vs 350毫秒
参考文献搜索 find_refs grep 结构化的 结果
代码搜索 search grep 小3-5倍 答复

主要优势:

  • 128040个文件已编入索引 100%覆盖
  • 非阻塞 后台索引构建(工作线程)
  • LLM优化 带有分页和大小限制的输出

有关详细的基准测试,请参阅 文档/基准结果-2025-12-13.md

需求

  • Unity 2020.3 LTS或更新版本
  • Node.js 18.x/20.x/22.x/24.x LTS(不支持25+)
  • Claude Desktop或其他兼容MCP的客户端

安装

Unity套餐

包管理器→ 从git URL添加:

https://github.com/akiojin/unity-mcp-server.git?path=UnityMCPServer/Packages/unity-mcp-server

或者通过OpenUPM:

openupm add com.akiojin.unity-mcp-server

MCP客户端配置

配置您的MCP客户端(Claude Desktop示例):

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "unity-mcp-server": {
      "command": "npx",
      "args": ["@akiojin/unity-mcp-server@latest"]
    }
  }
}

HTTP模式(仅适用于HTTP网络)

npx @akiojin/unity-mcp-server --http 6401 --no-telemetry
curl http://localhost:6401/healthz

快速开始

  1. 安装Unity软件包 (Git URL或OpenUPM)
  2. 配置您的MCP客户端 上面的JSON
  3. 打开Unity项目 (包在端口6400上启动TCP侦听器)
  4. 启动您的MCP客户端 (它连接到节点服务器)
  5. 测试连接 随着 ping

提示: npx @akiojin/unity-mcp-server@latest 下载并运行最新版本,无需克隆。

建筑

┌────────────────┐        JSON-RPC (MCP)        ┌──────────────────────┐
│  MCP Client    │ ───────────────────────────▶ │  Node MCP Server     │
│ (Claude/Codex/ │ ◀─────────────────────────── │ (@akiojin/unity-     │
│   Cursor …)    │        tool responses        │ mcp-server)          │
└────────────────┘                              └──────────┬───────────┘
                                                         TCP│6400
                                                            ▼
                                                   ┌───────────────────┐
                                                   │  Unity Editor     │
                                                   │  (Package opens   │
                                                   │   TCP listener)   │
                                                   └───────────────────┘

配置

配置是可选的;默认值在没有任何配置文件的情况下工作。

节点侧配置使用 仅环境变量,Unity端主机/端口位于 项目设置.

看 docs/configuration.md.

工具

Unity MCP服务器发货 100+工具.使用 search_tools 元工具,快速发现正确的工具。

对于具有严格工具数量限制的客户,您可以按类别筛选公开的工具:

export UNITY_MCP_TOOL_INCLUDE_CATEGORIES=system,scene,gameobject,analysis,script
export UNITY_MCP_TOOL_EXCLUDE_CATEGORIES=ui,input,addressables,video,screenshot,profiler

看 docs/tools.md 有关发现提示和推荐的代码索引工作流。

注: find_refs 支持通过以下方式分页 startAfter 并返回 cursor 当结果被截断时。

Claude代码技能

该软件包包括Claude Code技能,为有效使用108+工具提供面向工作流的指导。

可用技能

技能 描述 触发器
mcp-server-development 构建MCP服务器(TypeScript SDK),实现工具/资源/提示、JSON-RPC模式 “MCP服务器”、“工具处理程序”、“JSON-RPC”、“TypeScript”
unity-csharp-editing 使用TDD工作流进行C#脚本编辑、搜索和重构 “C#编辑”、“脚本搜索”、“重构”
unity-scene-management 场景、游戏对象、组件管理 “场景创建”、“游戏对象”、“组件添加”
unity-playmode-testing 播放模式控制、输入模拟、UI自动化 “播放模式”、“输入模拟”、“UI点击”
unity-asset-management 预制件、材料、地址管理 “预制件创建”、“材料”、“地址”
unity-editor-imgui-design 用于EditorWindow/Inspector/PropertyDrawer的Unity编辑器IMGUI(不适用于游戏内UI) “EditorWindow”、“自定义检查器”、“PropertyDrawer”、“IMGUI”
unity-game-ugui-design 游戏中uGUI(画布/矩形变换/锚点)UI设计 “uGUI”、“画布”、“矩形变换”、“锚点”、“HUD”
unity-game-ui-toolkit-design 游戏内UI工具包(UXML/USS/Flexbox)UI设计 “UI工具包”、“UXML”、“USS”、“VisualElement”、“Flexbox”

安装

从GitHub安装为Claude Code插件:

# Step 1: Add marketplace
/plugin marketplace add akiojin/unity-mcp-server

# Step 2: Install plugin
/plugin install unity-mcp-server@unity-mcp-server

或手动复制 .claude/skills/ 目录到您的项目。

用法

当你提到相关关键词时,技能会自动激活。您也可以直接调用它们:

# Ask about C# editing workflow
"How do I edit Unity C# scripts?"

# Ask about scene management
"Create a new scene with basic lighting"

# Ask about testing
"How do I simulate keyboard input in playmode?"

故障排除

看 docs/故障排除/README.md.

OpenUPM作用域注册表

要使用OpenUPM包,请将作用域注册表添加到项目中:

通过项目设置

  1. Edit > Project Settings > Package Manager
  2. 在...之下 登记范围,单击 +
  3. 添加:
    • 名字: OpenUPM
    • 统一资源定位符: https://package.openupm.com
    • 范围: com.akiojin, com.akiojin.unity-mcp-server

通过manifest.json

"scopedRegistries": [
  {
    "name": "OpenUPM",
    "url": "https://package.openupm.com",
    "scopes": ["com.akiojin", "com.akiojin.unity-mcp-server"]
  }
]

存储库结构

.unity/
├── cache/           # Local caches (git-ignored)
└── capture/         # Screenshots/videos (git-ignored)

UnityMCPServer/
├── Packages/unity-mcp-server/  # UPM package (source)
└── Assets/                     # Samples only

mcp-server/          # Node MCP server

csharp-lsp/          # Roslyn-based LSP tool

功能文档

所有功能均以SDD格式记录: specs/

贡献

看 贡献.md 用于开发设置、提交指南和PR流程。

开发文档

有关内部开发的详细信息(规范工具包、发布过程、LLM优化):

许可证

MIT许可证-请参阅 许可证 文件。