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

 

History

1,489 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 25

Languages