本仓库 fork 自上游 ALEXTANGXIAO/TEngine,在其基础上围绕热更新、资源打包、运行时配置、场景加载、数据绑定、存档与数据中心、日志工具、窗口控制、代码混淆、运行时工具、计时器模块、UI 组件扩展、运行时工具合并、帧动画模块、GameObject 对象池、3D 动画图做了定制改造。
| 主题 | 主要改动 |
|---|---|
| YooAsset 3.0.5 迁移 | 无兼容层迁移、运行模式修复、ArchiveFileBuildPipeline 与加密归档加载 |
| 日志系统 | TouchSocket 日志桥接、Unity 日志落盘、LogViewer 工具 |
| 事件系统 | GameEvent.RemoveAllListeners 按事件 ID 批量移除监听 |
| 数据绑定 | 纯数据 DataBinding 运行时、生成器和 Odin 面板 |
| 运行时配置 | RuntimeConfigModule、DeployConfig、TOML/JSON 轻量配置 |
| 热更新 | 独立 CodePackage、归档二进制加载、AOT 元数据清单、版本确认流程 |
| 资源打包 | 按包构建管线、ArchiveFile 管线、发布整理、Odin 化打包窗口 |
| 场景系统 | DynamicSpawn 通用化、加载进度下沉到 GameSceneModule |
| 窗口管理 | Windows Standalone 多显示器窗口布局控制 ScreenModule |
| 代码混淆 | Obfuz 接入、dnlib 冲突解决、本地包同步脚本、多态 DLL 热更产物 |
| 运行时工具 | GameTickWatcher 逻辑计时器(独立 RuntimeTools 程序集) |
| 计时器模块 | TimerModule 链表化、坏帧安全、限定循环次数 |
| 存档与数据中心 | ClientSaveDataMgr 存档框架、DataCenterSys 玩家数据中枢 |
| UI 组件扩展 | UIButton/UIImage/UIText/RichTextItem + ListPool 公共化 |
| 运行时工具合并 | Utility.Unity 补齐组件增删/子节点查找/Layer/EventTrigger/物理/分辨率等;JSON 补 FromJsonOverwrite |
| 帧动画模块 | 序列帧动画(场景版+UI版+RawImage版),手写替代 SourceGenerator |
| GameObject 对象池 | 基于 YooAsset location 的异步实例化池,预热/回收/自动销毁 |
| 3D 动画图 | 基于 PlayableGraph 的代码驱动 3D 动画图,多层级混合/权重过渡 |
详细设计、使用方式和关键文件见 Fork 定制改动总览。按时间查看改动见 Fork 改动时间线。
TEngine 是一个简单(新手友好、开箱即用)且强大的 Unity 框架全平台解决方案。对于需要一套上手快、文档清晰、高性能且可拓展性极强的商业级解决方案的开发者或团队来说,TEngine 是一个很好的选择。
- 🚀 开箱即用 - 5 分钟即可上手整套开发流程,代码整洁,思路清晰
- 🔥 高性能 - 基于 UniTask 的异步系统,零 GC 事件分发,严格的内存管理
- 🧩 高内聚低耦合 - 模块化设计,可轻松移除或替换不需要的模块
- 🔄 热更新支持 - 集成 HybridCLR,全平台热更新流程已跑通
- 📦 资源管理 - 集成 YooAsset,支持 LRU、ARC 缓存策略,自动资源释放
- 📊 配置表系统 - 集成 Luban,支持懒加载、异步加载、同步加载
- 🎨 UI 框架 - 商业化 UI 开发流程,支持代码自动生成
- 🌍 全平台支持 - Windows、Android、iOS、WebGL、微信小游戏等
- Unity 版本: 2021.3.20f1c1(推荐)或更高
- Odin Inspector: 仓库不内置该插件,请自行从 Odin 官方渠道下载并导入项目后再打开工程
- 开发环境: .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/Generate/All生成代码、YooAsset/AssetBundle Builder构建 AB,最后 Build And Run
💡 遇到问题请查看 HybridCLR 常见错误
详细教程请参考:快速开始指南
TEngine 深度集成了一套面向 Claude Code 的 AI 辅助开发工作流,通过 tengine-dev skill 按需查询架构、任务等级分级触发和会话内缓存机制,实现规范驱动、高效的 AI 开发体验。
详细规范请参考:CLAUDE.md | AI 开发工作流指南
| 文档 | 描述 |
|---|---|
| 📖 介绍 | TEngine 框架介绍与核心特性 |
| 🏗️ 框架概览 | 框架架构与设计理念 |
| 🚀 快速开始 | 5 分钟快速上手教程 |
| 🌍 全平台运行 | 各平台运行截图展示 |
| 🤖 AI 开发工作流 | openspec + tengine-dev AI 开发指南 |
| 模块 | 文档 | 描述 |
|---|---|---|
| 📦 资源模块 | 资源模块 | YooAsset 资源管理,支持 LRU/ARC 缓存 |
| 🎯 事件模块 | 事件模块 | 零 GC 事件系统,支持 MVE 架构 |
| 💾 内存池模块 | 内存池模块 | 轻量级内存池管理 |
| 🎮 对象池模块 | 对象池模块 | 游戏对象池管理 |
| 🎨 UI 模块 | UI模块 | 商业化 UI 框架,支持代码生成 |
| 📊 配置表模块 | 配置表模块 | Luban 配置表系统 |
| 🔄 流程模块 | 流程模块 | 商业化启动流程 |
| 🌐 网络模块 | 网络模块 | 网络通信模块 |
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、macOS、Android、iOS、WebGL、微信小游戏
- 开发环境: .NET 4.x、Visual Studio 2019+ 或 Rider
TEngine 本身为纯净的客户端框架,不强绑定任何服务器。推荐使用 C# 服务器:
- GameNetty - 源于 ETServer,首次拆分最新的 ET8.1 的前后端解决方案
- Fantasy - 源于 ETServer 但极为简洁,更好上手的商业级服务器框架(Fantasy 分支已集成)
| 项目 | 描述 | 链接 |
|---|---|---|
| YooAsset | 商业级经历百万 DAU 游戏验证的资源管理系统 | GitHub |
| HybridCLR | 特性完整、零成本、高性能、低内存的近乎完美的 Unity 全平台原生 C# 热更方案 | GitHub |
| Luban | 最佳游戏配置解决方案 | GitHub |
| Fantasy | 源于 ETServer 但极为简洁,更好上手的商业级服务器框架 | GitHub |
| GameNetty | 源于 ETServer,首次拆分最新的 ET8.1 的前后端解决方案 | GitHub |
| JEngine | 使 Unity 开发的游戏支持热更新的解决方案 | GitHub |
| DGame | 根据 TEngine 框架,结合工作经验,修改和增加一些实用性拓展修改的框架 | GitHub |
| AlicizaXTemplate | AlicizaX 是一套面向 Unity 项目的框架模板 | GitHub |
- TowerDefense-TEngine-Demo - 群友大佬的塔防 Demo
最新的 Demo 飞机大战位于 demo 分支,欢迎体验!
git checkout demo欢迎提交 Issue 和 Pull Request!如需支持上游 TEngine 项目,请参考 上游赞助页。
本 Fork 部分功能参考并迁移自 DGame 项目,感谢 DGame 作者 @AmaniDawn 在 TEngine 基础上结合商业项目经验沉淀的实用模块与工具,为本仓库的定制改造提供了重要参考。
