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 框架介绍与核心特性 |
| 🏗️ 框架概览 | 框架架构与设计理念 |
| 🚀 快速开始 | 5 分钟快速上手教程 |
| 🌍 全平台运行 | 各平台运行截图展示 |
| 模块 | 文档 | 描述 |
|---|---|---|
| 📦 资源模块 | 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 对您有帮助,不妨请我可爱的女儿买杯奶茶吧~ 🥤
