AI驱动 · 模块化 · 高性能

Unity3d MCP
AI驱动的Unity开发工作流

通过内置MCP服务器将AI助手与Unity编辑器无缝连接,
使用自然语言控制Unity,提供40+专业工具,覆盖完整开发流程

40+
专业工具
6
应用场景
100%
开源免费
AI → Unity

核心特性

强大的功能,简单的使用

🤖

AI驱动开发

通过自然语言指令控制Unity编辑器,无需记忆复杂的API和命令

🚀

高性能通信

基于HTTP的高效通信机制,内置消息队列,支持批量操作

🧩

模块化架构

40+专业工具,覆盖层级管理、资源编辑、性能分析等全流程

🔌

零配置集成

Unity内置MCP服务器,支持Cursor、Claude等主流AI客户端,无需外部依赖

🎯

消息队列引擎

基于EditorApplication.update的主线程安全执行机制,确保Unity API正确调用

🛠️

易于扩展

插件化设计,支持自定义工具开发,动态方法调用

系统架构

分层设计,清晰高效

AI客户端层
Cursor Claude Trae
MCP协议层
Unity内置MCP服务器
通信层
HTTP (可自定义端口,默认8000) JSON-RPC 2.0
Unity编辑器层
Unity Editor Unity API
工具层
40+专业工具 消息队列执行引擎
Resources & Prompts 层
📦 Resources 资源系统 💬 Prompts 提示词系统

双层调用架构

FacadeTools(async_call、batch_call)+ MethodTools(40+专业方法)

消息队列系统

可自定义端口配置、主线程安全执行、智能资源管理和清理

协程支持

支持Unity协程的异步操作,不阻塞主线程,适用于长时间运行任务

Resources & Prompts

扩展MCP协议,支持资源访问和提示词管理,提供结构化的数据和指令模板

实际应用示例

通过自然语言指令完成复杂的Unity开发任务

🔧

智能问题修复

"修复控制台中的所有警告和报错"

AI自动分析控制台日志,识别问题类型,提供修复建议并执行修复操作

console_read code_runner
🎨

程序化网格生成

"创建一个60顶点的圆形雨伞网格,保存到Meshes目录"

使用Python脚本生成复杂3D网格,自动导入Unity并保存为资源文件

python_runner edit_mesh
📦

自动化插件管理

"安装android-logcat插件到Unity"

通过Package Manager自动搜索、下载并安装Unity插件包,无需手动操作

manage_package request_http
📊

代码架构可视化

"分析Scripts目录下的代码,用Matplotlib绘制架构图"

扫描项目代码结构,分析类依赖关系,生成专业的UML架构图

project_search python_runner
🏠

智能场景布置

"基于Prefabs下的美术资源及文档,在场景中布置一个房间"

AI理解资源说明文档,自动选择合适的预制体,按照设计规范摆放场景物体

project_search hierarchy_create edit_gameobject
🎯

规则驱动UI构建

"使用规则文件,在场景中构建UGUI界面"

根据JSON/YAML规则文件自动创建UI层级结构,设置布局和样式

ui_rule_manage ugui_layout
🖼️

自动图集生成

"将LoginView界面引用的图片打包为LoginViewAtlas,保存到Atlas文件夹"

自动收集UI引用的所有Sprite,创建Sprite Atlas并优化纹理打包

hierarchy_search edit_sprite_atlas

扩展应用场景

覆盖游戏开发完整工作流

01
🎨

AI图片生成

集成Stable Diffusion批量生成游戏纹理,自动创建Material并应用

Python Runner AI生成
02
📦

批量爬取资源

从Poly Haven等平台批量下载PBR材质,自动创建完整配置

资源管理 自动化
03
📊

架构图生成

分析Unity项目结构,生成可视化架构图和依赖关系

文档自动化 代码分析
04

性能分析

自动检测Draw Call、高多边形模型,提供优化建议

Code Runner 性能优化
05
🧪

测试数据生成

使用Faker批量生成游戏配置数据,用于压力测试

测试 数据生成
06
🌍

本地化翻译

集成GPT-4批量翻译游戏文本,支持多语言版本生成

AI翻译 国际化

快速开始

四步完成配置,零依赖开始AI驱动开发

1

导入Unity Package

// 将unity-package目录导入Unity项目
// 或通过Package Manager添加Git URL
"io.uframe.unity3d-mcp": "https://github.com/zoucdr/unity3d-mcp.git?path=/unity-package"
2

启动Unity编辑器

// 打开Unity项目
// Unity Package会自动启动内置MCP服务器
// 默认监听端口:8000(可在Project Settings → MCP中自定义)
3

配置MCP客户端

// MCP客户端配置
{
  "mcpServers": {
    "unity3d-mcp": {
      "url": "http://127.0.0.1:8000"
    }
  }
}

// 支持Cursor、Claude、VS、Trae等AI客户端
4

开始使用

// 在AI客户端中测试连接
"请帮我创建一个Cube对象"

// 批量操作示例
"创建10个随机位置的Sphere,并设置不同颜色的材质"

// 复杂任务示例
"分析当前场景的性能问题并提供优化建议"

Resources & Prompts 支持

扩展MCP协议,提供资源访问和提示词管理

📦

Resources 资源系统

通过MCP协议访问Unity项目资源,支持文件、配置、数据等多种资源类型

文件访问 配置管理 数据读取
💬

Prompts 提示词系统

自定义AI提示词模板,为特定任务提供结构化的指令和上下文

模板化 参数化 可扩展

🔧 Resources 配置方法

1. 实现 IRes 接口
public class ProjectTreeRes : IRes
{
    public string Url => "file://path/to/resource.yaml";
    public string Name => "project_tree";
    public string Description => "工程文件夹树型结构";
    public string MimeType => "application/yaml";
}
2. 支持的URI方案
file:// - 本地文件访问
http:// - HTTP资源访问
mcp:// - MCP自定义协议
data: - 内联数据
3. 使用方法
// AI客户端中访问资源
"请读取project_tree资源的内容"

// 或通过MCP函数调用
{
  "method": "resources/read",
  "params": {
    "uri": "file://path/to/resource.yaml"
  }
}

💡 Prompts 配置方法

1. 实现 IPrompts 接口
public class TestTalkStepPrompts : IPrompts
{
    public string Name => "test_talk_step";
    public string Description => "测试对话步骤";
    public string PromptText => "请描述一个对话步骤的内容,包括角色的台词和情感。";
    public MethodKey[] Keys => new MethodKey[]
    {
        new MethodKey("step", "对话步骤", false)
        .AddExample("角色A:你好,我是A。角色B:你好,我是B。")
    };
}
2. 参数配置
Name - 提示词唯一标识符
Description - 功能描述
PromptText - 实际提示词内容
Keys - 参数定义和示例
3. 使用方法
// AI客户端中调用提示词
"使用test_talk_step提示词生成对话内容"

// 或通过MCP函数调用
{
  "method": "prompts/get",
  "params": {
    "name": "test_talk_step"
  }
}

Agent 技能模块

统一技能入口 + JSON Schema 按需加载,与 MCP 结合节省 Token

MCP 协议会向 AI 提供完整的工具列表与参数 Schema,在工具数量较多时占用大量 Token。为降低上下文消耗,项目增加了 Skill 模块unity-package/Skills/unity3d-skill/),与 MCP 配合使用,实现「按需加载、用时再读」。

实现方式

  • 统一技能入口:一个 SKILL.md 提供 32 个函数的概览摘要,按 7 大分类组织(编辑器与偏好设置、代码执行、场景与层级、GameObject与组件编辑、项目与资源管理、UI与布局、游戏与网络)。
  • JSON Schema 引用:每个函数在 references/<func_name>.json 中有独立的 JSON Schema 文件,包含完整的参数定义、actions 枚举(含条件参数)和响应格式。
  • 按需加载:Agent 先阅读 SKILL.md 概览定位目标函数,再按需加载对应的 JSON Schema,而非一次性加载全部 32 个工具 Schema。

与 MCP 系统的结合

  • MCP 仍负责实际的工具发现与调用;Skill 负责「何时用、怎么传参」的说明。
  • 可在 Cursor Rules 或 Agent 配置中引用 SKILL.md,使 Agent 先查阅概览、按需加载 JSON Schema,再通过 MCP 发起调用。
  • 这样既保留 MCP 的完整能力,又避免把 32+ 工具的完整描述常驻上下文,显著节省 Token

文件结构

unity-package/Skills/unity3d-skill/
├── SKILL.md                    # 函数概览与分类摘要
└── references/                 # 每个函数的 JSON Schema 定义
    ├── base_editor.json        # 编辑器状态管理
    ├── hierarchy_create.json   # 场景层级创建
    ├── gameplay.json           # 游戏玩法控制
    ├── request_http.json       # HTTP请求
    └── ... (共 32 个 Schema)

工具生态

40+专业工具,覆盖Unity开发全流程

层级管理

  • hierarchy_create
  • hierarchy_search
  • hierarchy_apply

资源编辑

  • edit_gameobject
  • edit_component
  • edit_material
  • edit_texture
  • edit_mesh

项目管理

  • project_search
  • project_operate
  • manage_package

UI工具

  • ugui_layout
  • ui_rule_manage
  • figma_manage

代码运行

  • code_runner (C#)
  • python_runner

存储管理

  • prefers (偏好设置)
  • source_location (资源定位)

其他工具

  • console_read/write
  • request_http
  • gameplay
  • base_editor