TEngine 是一个简单(新手友好、开箱即用)且强大的 Unity 框架全平台解决方案。对于需要一套上手快、文档清晰、高性能且可拓展性极强的商业级解决方案的开发者或团队来说,TEngine 是一个很好的选择。
- 🚀 开箱即用 - 5 分钟即可上手整套开发流程,代码整洁,思路清晰
- 🔥 高性能 - 基于 UniTask 的异步系统,零 GC 事件分发,严格的内存管理
- 🧩 高内聚低耦合 - 模块化设计,可轻松移除或替换不需要的模块
- 🔄 热更新支持 - 集成 HybridCLR,全平台热更新流程已跑通
- 📦 资源管理 - 集成 YooAsset,支持 LRU、ARC 缓存策略,自动资源释放
- 📊 配置表系统 - 集成 Luban,支持懒加载、异步加载、同步加载
- 🎨 UI 框架 - 商业化 UI 开发流程,支持代码自动生成
- 🌍 全平台支持 - Windows、Android、iOS、WebGL、微信小游戏等
- Unity 版本: 2021.3.20f1c1(推荐)或更高
- 支持版本: Unity 2019.4 / 2020.3 / 2021.3 / 2022.3
- 开发环境: .NET 4.x
- 支持平台: Windows、OSX、Android、iOS、WebGL
-
克隆项目
git clone https://github.com/ALEXTANGXIAO/TEngine.git
-
打开项目
- 使用 Unity 2021.3.20f1c1 打开项目
-
编辑器模式运行
- 选择顶部栏目
EditorMode编辑器下的模拟模式 - 点击
Launcher开始运行
- 选择顶部栏目
-
打包运行(热更新流程)
- 运行菜单
HybridCLR/Install...安装 HybridCLR - 运行菜单
HybridCLR/Define Symbols/Enable HybridCLR开启热更新 - 运行菜单
HybridCLR/Generate/All进行必要的生成操作 - 运行菜单
HybridCLR/Build/BuildAssets And CopyTo AssemblyPath生成热更新 DLL - 运行菜单
YooAsset/AssetBundle Builder构建 AB - 打开 Build Settings,点击 Build And Run
- 运行菜单
💡 提示: 遇到问题请查看 HybridCLR 常见错误
详细教程请参考:快速开始指南
TEngine 深度集成了一套面向 Claude Code 的 AI 辅助开发工作流。通过 wiki-query-agent 上下文隔离架构、任务等级分级触发和会话内缓存机制,实现了规范驱动、高效、自愈的 AI 开发体验。
| 工具 | 用途 |
|---|---|
| wiki-query-agent | 独立上下文 subagent,处理 wiki 文档查询,保护主 Agent 上下文 |
| tengine-dev | Claude Code 专用 TEngine 开发技能,覆盖全模块规范 |
| Unity-MCP | Unity Editor 自动化操作(场景、资源、脚本) |
| openspec | 规范驱动的变更管理 |
flowchart TD
A([用户发起任务]) --> B{判断任务等级}
B -->|L1 简单\ntypo/注释/日志| C[直接编写代码]
B -->|L2 调用\n单一 API 修改| D[轻量查询\n只查该 API]
B -->|L3 功能\n新功能/跨文件| E[全量查询\n相关模块规范]
B -->|L4 架构\n系统设计/重构| F[并行多主题查询]
D --> G{会话缓存命中?}
E --> G
F --> G
G -->|命中| H[复用已有规范摘要]
G -->|未命中| I[启动 wiki-query-agent\nsubagent 查询]
I --> J[subagent 读取 repowiki/\n处理文档内容]
J --> K[返回精华规范摘要]
H --> L[输出代码/方案]
K --> L
C --> L
L --> M{规范与代码冲突?}
M -->|有冲突| N[标注冲突点\n触发 /wiki:sync]
M -->|无冲突| O([任务完成])
N --> O
核心优势:wiki 文档全部在 subagent 独立上下文中处理,主 Agent 只接收精华摘要,上下文窗口始终干净。
sequenceDiagram
participant U as 用户
participant M as 主 Agent (Claude)
participant S as wiki-query-agent (subagent)
participant W as repowiki/zh/content/
U->>M: 请实现背包 UI
Note over M: 判断等级: L3 功能
M->>S: 启动 subagent<br/>查询: UIWindow规范 + 资源管理规范
activate S
S->>W: 读取 ui-development.md
S->>W: 读取 resource-management.md
S->>W: 读取 event-system.md
Note over S: 处理大量文档内容<br/>提炼关键规范
S-->>M: 返回精华摘要<br/>(~500字,非原始文档)
deactivate S
Note over M: 主 Agent 上下文保持干净<br/>只增加了摘要,未增加文档原文
M->>M: 声明已查询主题
M-->>U: 输出符合规范的代码
核心优势:同一会话中相同主题只查询一次,后续任务直接复用,避免重复 token 消耗。
sequenceDiagram
participant U as 用户
participant M as 主 Agent
participant S as wiki-query-agent
participant C as 会话缓存
U->>M: 任务①: 实现登录界面 UI
M->>S: 查询 UIWindow 规范
S-->>M: 返回 UIWindow 规范摘要
M->>C: 缓存: UIWindow 规范 ✅
M-->>U: 输出登录界面代码
U->>M: 任务②: 实现设置界面 UI
M->>C: 检查缓存: UIWindow 规范
C-->>M: 命中缓存 ✅ 直接复用
Note over M: 无需重启 subagent<br/>零等待,零额外 token
M-->>U: 输出设置界面代码
U->>M: 任务③: 设置界面添加音效按钮
M->>C: 检查缓存: UIWindow ✅ / Audio ❌
C-->>M: UIWindow 命中,Audio 未命中
M->>S: 仅补充查询 AudioModule 规范
S-->>M: 返回 Audio 规范摘要
M->>C: 缓存: Audio 规范 ✅
M-->>U: 输出音效按钮代码
核心优势:架构级任务并行启动多个 subagent,汇总后统一决策,大幅减少串行等待。
sequenceDiagram
participant U as 用户
participant M as 主 Agent
participant S1 as wiki-query-agent #1
participant S2 as wiki-query-agent #2
participant S3 as wiki-query-agent #3
U->>M: 设计战斗系统架构<br/>涉及: UI + 事件 + FSM + 资源
Note over M: 判断等级: L4 架构<br/>并行启动 3 个 subagent
par 并行查询
M->>S1: 查询 UIWindow + UIWidget 规范
M->>S2: 查询 GameEvent 事件系统规范
M->>S3: 查询 FSM 状态机 + 资源加载规范
end
S1-->>M: UI 规范摘要
S2-->>M: 事件系统摘要
S3-->>M: FSM + 资源摘要
Note over M: 汇总三份摘要<br/>统一架构决策
M-->>U: 输出完整战斗系统架构方案
核心优势:AI 主动检测 wiki 与代码的不一致,自动触发同步,形成持续改进的自愈循环。
sequenceDiagram
participant M as 主 Agent
participant S as wiki-query-agent
participant W as repowiki/
participant Code as 项目代码
participant Mem as .claude/memory/
M->>S: 查询某 API 规范
S-->>M: wiki 描述: API_X(param1, param2)
M->>Code: 读取实际代码实现
Code-->>M: 实际签名: API_X(param1, param2, param3)
Note over M: 检测到冲突!<br/>wiki 描述与代码不符
M->>Mem: 记录 problem_2026-04-01.md<br/>冲突详情 + 分析
M->>W: 触发 /wiki:sync<br/>更新 wiki 文档
Note over W: wiki 同步完成<br/>下次查询将返回正确规范
M-->>U: 输出代码,并标注已修正文档冲突
┌─────────────────────────────────────────────────────────┐
│ TEngine AI 工作流 │
├─────────────────────────────────────────────────────────┤
│ Step 0 判断任务等级 L1/L2/L3/L4 │
│ Step 1 按等级决定查询深度(缓存命中则跳过) │
│ Step 2 wiki-query-agent 独立处理文档,返回摘要 │
│ Step 3 L3/L4 声明已查询主题 + 关键规范摘要 │
│ Step 4 基于规范输出代码/方案 │
│ Step 5 检测冲突 → 自动触发 /wiki:sync(如有) │
└─────────────────────────────────────────────────────────┘
详细规范请参考:CLAUDE.md | AI 开发工作流指南
| 文档 | 描述 |
|---|---|
| 📖 介绍 | TEngine 框架介绍与核心特性 |
| 🏗️ 框架概览 | 框架架构与设计理念 |
| 🚀 快速开始 | 5 分钟快速上手教程 |
| 🌍 全平台运行 | 各平台运行截图展示 |
| 🤖 AI 开发工作流 | openspec + tengine-dev AI 开发指南 |
| 模块 | 文档 | 描述 |
|---|---|---|
| 📦 资源模块 | 3-1-资源模块 | YooAsset 资源管理,支持 LRU/ARC 缓存 |
| 🎯 事件模块 | 3-2-事件模块 | 零 GC 事件系统,支持 MVE 架构 |
| 💾 内存池模块 | 3-3-内存池模块 | 轻量级内存池管理 |
| 🎮 对象池模块 | 3-4-对象池模块 | 游戏对象池管理 |
| 🎨 UI 模块 | 3-5-UI模块 | 商业化 UI 框架,支持代码生成 |
| 📊 配置表模块 | 3-6-配置表模块 | Luban 配置表系统 |
| 🔄 流程模块 | 3-7-流程模块 | 商业化启动流程 |
| 🌐 网络模块 | 3-8-网络模块 | 网络通信模块 |
- ✅ 基于 YooAsset 的资源管理系统
- ✅ 支持 EditorSimulateMode、OfflinePlayMode、HostPlayMode
- ✅ AssetReference 资源引用标识,自动管理资源生命周期
- ✅ AssetGroup 资源组管理
- ✅ LRU/ARC 缓存策略
- ✅ 同步/异步加载支持
- ✅ 零 GC 事件系统
- ✅ 支持 string/int 事件 ID
- ✅ 支持 MVE(Model-View-Event)架构
- ✅ UI 生命周期自动绑定事件清理
- ✅ 纯 C# 实现,脱离 Mono 生命周期
- ✅ 代码自动生成工具
- ✅ UIWindow/UIWidget 分层设计
- ✅ 支持全屏面板管理
- ✅ 事件驱动架构
- ✅ 集成 Luban 配置表解决方案
- ✅ 支持懒加载、异步加载、同步加载
- ✅ 强大的数据校验能力
- ✅ 完善的本地化支持
完整的商业化启动流程:
- ProcedureLaunch → ProcedureSplash → ProcedureInitPackage
- ProcedurePreload → ProcedureInitResources
- ProcedureUpdateVersion → ProcedureUpdateManifest
- ProcedureCreateDownloader → ProcedureDownloadFile
- ProcedureDownloadOver → ProcedureClearCache
- ProcedureLoadAssembly → ProcedureStartGame
Assets/
├── AssetArt/ # 美术资源目录
│ └── Atlas/ # 自动生成图集目录
├── AssetRaw/ # 热更资源目录
│ ├── UIRaw/ # UI 图片目录
│ │ ├── Atlas/ # 需要自动生成图集的 UI 素材目录
│ │ └── Raw/ # 不需要自动生成图集的 UI 素材目录
│ ├── Audios/ # 音频资源
│ ├── Effects/ # 特效资源
│ └── Scenes/ # 场景资源
├── Editor/ # 编辑器脚本目录
├── HybridCLRData/ # HybridCLR 相关目录
├── Scenes/ # 主场景目录
├── TEngine/ # 框架核心目录
│ ├── Editor/ # TEngine 编辑器核心代码
│ ├── Runtime/ # TEngine 运行时核心代码
│ └── AssetSetting/ # YooAsset 资源设置
└── GameScripts/ # 程序集目录
├── Main/ # 主程序程序集(启动器与流程)
└── HotFix/ # 游戏热更程序集目录
├── GameBase/ # 游戏基础框架程序集 [Dll]
├── GameProto/ # 游戏配置协议程序集 [Dll]
└── GameLogic/ # 游戏业务逻辑程序集 [Dll]
├── GameApp.cs # 热更主入口
└── GameApp_RegisterSystem.cs # 热更主入口注册系统
- 推荐版本: Unity 2021.3.20f1c1
- 支持版本: Unity 2019.4 / 2020.3 / 2021.3 / 2022.3
- ✅ Windows (Standalone)
- ✅ macOS (Standalone)
- ✅ Android
- ✅ iOS
- ✅ WebGL
- ✅ 微信小游戏
- .NET 4.x
- Visual Studio 2019+ 或 Rider
TEngine 本身为纯净的客户端框架,不强绑定任何服务器。但针对个人开发以及中小型公司开发双端,我们推荐使用 C# 服务器。
.NET Core 8.0 在性能和设计上具有显著优势:
- ⚡ 高性能 - AOT、JIT 混合编译
- 🔧 组件化结构 - 模块化设计
- 🔥 热重载 - 提升开发效率
- 📈 性能测试 - 除 C++ 外,性能表现优异
- GameNetty - 源于 ETServer,首次拆分最新的 ET8.1 的前后端解决方案(包),客户端最精简约 750k,几乎零成本无侵入嵌入
- Fantasy - 源于 ETServer 但极为简洁,更好上手的商业级服务器框架(Fantasy 分支已集成)
| 项目 | 描述 | 链接 |
|---|---|---|
| YooAsset | 商业级经历百万 DAU 游戏验证的资源管理系统 | GitHub |
| HybridCLR | 特性完整、零成本、高性能、低内存的近乎完美的 Unity 全平台原生 C# 热更方案 | GitHub |
| Luban | 最佳游戏配置解决方案 | GitHub |
| Fantasy | 源于 ETServer 但极为简洁,更好上手的商业级服务器框架 | GitHub |
| GameNetty | 源于 ETServer,首次拆分最新的 ET8.1 的前后端解决方案 | GitHub |
| JEngine | 使 Unity 开发的游戏支持热更新的解决方案 | GitHub |
- TowerDefense-TEngine-Demo - 群友大佬的塔防 Demo
最新的 Demo 飞机大战位于 demo 分支,欢迎体验!
git checkout demo- ✅ 5 分钟即可上手整套开发流程
- ✅ 代码整洁,思路清晰,功能强大
- ✅ 高内聚低耦合,可轻松移除或替换不需要的模块
- ✅ 严格按照商业要求使用次世代的 HybridCLR 进行热更新
- ✅ 最佳的 Luban 配置表(支持懒加载、异步加载、同步加载)
- ✅ 百万 DAU 游戏验证过的 YooAsset 资源框架
- ✅ 全平台热更新流程已跑通
- ✅ YooAsset 资源自动释放
- ✅ 支持 LRU、ARC 严格管理资源内存
- ✅ 防止内存泄漏
- ✅ 商业化的热更新流程
- ✅ 商业化的 UI 开发流程
- ✅ 商业化的资源管理
- ✅ 已有项目使用 TEngine 上架 Steam
- ✅ 已有项目使用 TEngine 上架 微信小游戏
- ✅ 已有项目使用 TEngine 上架 App Store
欢迎提交 Issue 和 Pull Request!
如果 TEngine 对您有帮助,欢迎支持项目发展:
您的赞助会让我们做得更快更好!如果觉得 TEngine 对您有帮助,不妨请我可爱的女儿买杯奶茶吧~ 🥤
