Skip to content

Unity框架解决方案-支持HybridCLR(最好的次时代热更)、Obfuz混淆代码加固与YooAssets(优秀商业级资源框架)。

License

Notifications You must be signed in to change notification settings

Alex-Rachel/TEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TEngine

TEngine Logo

Unity 框架解决方案

Unity Version License Last Commit Issues Top Language DeepWiki


📖 简介

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

快速上手

  1. 克隆项目

    git clone https://github.com/ALEXTANGXIAO/TEngine.git
  2. 打开项目

    • 使用 Unity 2021.3.20f1c1 打开项目
  3. 编辑器模式运行

    • 选择顶部栏目 EditorMode 编辑器下的模拟模式
    • 点击 Launcher 开始运行
  4. 打包运行(热更新流程)

    • 运行菜单 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-网络模块 网络通信模块

🧩 核心模块

资源模块 (ResourceModule)

  • ✅ 基于 YooAsset 的资源管理系统
  • ✅ 支持 EditorSimulateMode、OfflinePlayMode、HostPlayMode
  • ✅ AssetReference 资源引用标识,自动管理资源生命周期
  • ✅ AssetGroup 资源组管理
  • ✅ LRU/ARC 缓存策略
  • ✅ 同步/异步加载支持

事件模块 (GameEvent)

  • ✅ 零 GC 事件系统
  • ✅ 支持 string/int 事件 ID
  • ✅ 支持 MVE(Model-View-Event)架构
  • ✅ UI 生命周期自动绑定事件清理

UI 模块 (UIModule)

  • ✅ 纯 C# 实现,脱离 Mono 生命周期
  • ✅ 代码自动生成工具
  • ✅ UIWindow/UIWidget 分层设计
  • ✅ 支持全屏面板管理
  • ✅ 事件驱动架构

配置表模块 (ConfigSystem)

  • ✅ 集成 Luban 配置表解决方案
  • ✅ 支持懒加载、异步加载、同步加载
  • ✅ 强大的数据校验能力
  • ✅ 完善的本地化支持

流程模块 (ProcedureModule)

完整的商业化启动流程:

  • 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 版本

  • 推荐版本: 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?

.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

社区 Demo


🎮 Demo 项目

最新的 Demo 飞机大战位于 demo 分支,欢迎体验!

git checkout demo

💡 为什么要使用 TEngine?

1. 开箱即用

  • ✅ 5 分钟即可上手整套开发流程
  • ✅ 代码整洁,思路清晰,功能强大
  • ✅ 高内聚低耦合,可轻松移除或替换不需要的模块

2. 商业级解决方案

  • ✅ 严格按照商业要求使用次世代的 HybridCLR 进行热更新
  • ✅ 最佳的 Luban 配置表(支持懒加载、异步加载、同步加载)
  • ✅ 百万 DAU 游戏验证过的 YooAsset 资源框架
  • ✅ 全平台热更新流程已跑通

3. 严格的内存管理

  • ✅ YooAsset 资源自动释放
  • ✅ 支持 LRU、ARC 严格管理资源内存
  • ✅ 防止内存泄漏

4. 商业化流程

  • ✅ 商业化的热更新流程
  • ✅ 商业化的 UI 开发流程
  • ✅ 商业化的资源管理

5. 全平台验证

  • ✅ 已有项目使用 TEngine 上架 Steam
  • ✅ 已有项目使用 TEngine 上架 微信小游戏
  • ✅ 已有项目使用 TEngine 上架 App Store

🤝 贡献与支持

🙏 感谢所有为 TEngine 做出贡献的开发者

Contributors

贡献

欢迎提交 Issue 和 Pull Request!

支持项目

如果 TEngine 对您有帮助,欢迎支持项目发展:

☕ 请我喝杯奶茶

您的赞助会让我们做得更快更好!如果觉得 TEngine 对您有帮助,不妨请我可爱的女儿买杯奶茶吧~ 🥤


Made with ❤️ by TEngine Team

⭐ Star | 🐛 Issues | 📖 Wiki

About

Unity框架解决方案-支持HybridCLR(最好的次时代热更)、Obfuz混淆代码加固与YooAssets(优秀商业级资源框架)。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 23

Languages