Skip to content
RSJWYPublic

About

对原版进行改造,支持多包初始化以及无人值守化更新,其他改动详情见「本 Fork 的定制改动」

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

TEngine

TEngine Logo

Unity 框架解决方案

Unity Version License Last Commit Issues Top Language DeepWiki


🛠️ 本 Fork 的定制改动

本仓库 fork 自上游 ALEXTANGXIAO/TEngine,在其基础上围绕热更新、资源打包、运行时配置、场景加载、数据绑定、存档与数据中心、日志工具、窗口控制、代码混淆、第三方包本地化、运行时工具、计时器模块、UI 组件扩展、运行时工具合并、帧动画模块、GameObject 对象池、3D 动画图、桌面多开、模块级自定义异步操作、第三方 UI 效果插件做了定制改造。

主题 主要改动
YooAsset 3.0.5 迁移 无兼容层迁移、运行模式修复、ArchiveFileBuildPipeline 与加密归档加载
日志系统 TouchSocket 日志桥接、Unity 日志落盘、LogViewer 工具
事件系统 GameEvent.RemoveAllListeners 按事件 ID 批量移除监听
数据绑定 纯数据 DataBinding 运行时、生成器和 Odin 面板
运行时配置 RuntimeConfigModule、DeployConfig、TOML/JSON 轻量配置
热更新 独立 CodePackage、归档二进制加载、AOT 元数据清单、版本确认流程
资源打包 按包构建管线、ArchiveFile 管线、发布整理、Odin 化打包窗口、外置 Python 构建工具 BuildCLI(含批量执行多步骤队列、分段合并省冷启动)、Windows/Linux 安装包(InnoSetup 多 iss 档案 / WSL debkit 多 conf 打 deb)
场景系统 DynamicSpawn 通用化、加载进度下沉到 GameSceneModule
窗口管理 Windows Standalone 多显示器窗口布局控制 ScreenModule
代码混淆 Obfuz 接入、dnlib 冲突解决、本地包同步脚本、多态 DLL 热更产物
第三方包本地化 HybridCLR/Obfuz/Obfuz4HybridCLR/UniTask 转本地包,一键同步脚本(自动解析最新稳定 tag、支持指定版本、gitee 镜像)
运行时工具 GameTickWatcher 逻辑计时器(独立 RuntimeTools 程序集)
计时器模块 TimerModule 链表化、坏帧安全、限定循环次数
存档与数据中心 ClientSaveDataMgr 存档框架(Nino 二进制序列化)、DataCenterSys 玩家数据中枢
UI 组件扩展 UIButton/UIImage/UIText/RichTextItem + ListPool 公共化
运行时工具合并 Utility.Unity 补齐组件增删/子节点查找/Layer/EventTrigger/物理/分辨率等;JSON 补 FromJsonOverwrite
帧动画模块 序列帧动画(场景版+UI版+RawImage版),手写替代 SourceGenerator
GameObject 对象池 基于 YooAsset location 的异步实例化池,预热/回收/自动销毁
3D 动画图 基于 PlayableGraph 的代码驱动 3D 动画图,多层级混合/权重过渡
桌面多开 YooAsset 多实例缓存隔离,命令行 --yoo-instance 驱动
自定义异步操作 模块级 AsyncOperationModule,不依赖 YooAsset 的自定义异步操作体系,支持协程/UniTask/abort-on-cancel
第三方 UI 效果插件 UIEffect(材质级 8 大类视觉效果)+ UISoftMask(RenderTexture 软遮罩),两者 shader 协作

详细设计、使用方式和关键文件见 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

快速上手

  1. 克隆项目

    git clone https://github.com/ALEXTANGXIAO/TEngine.git
  2. 打开项目 - 使用 Unity 2021.3.20f1c1 打开项目

  3. 编辑器模式运行

    • 选择顶部栏目 EditorMode 编辑器下的模拟模式
    • 点击 Launcher 开始运行
  4. 打包运行(热更新流程) - 运行菜单 HybridCLR/Install... 安装 HybridCLR,随后 HybridCLR/Generate/All 生成代码、YooAsset/AssetBundle Builder 构建 AB,最后 Build And Run

💡 遇到问题请查看 HybridCLR 常见错误

详细教程请参考:快速开始指南


🤖 AI 开发工作流

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

社区 Demo


🎮 Demo 项目

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

git checkout demo

🤝 贡献与支持

欢迎提交 Issue 和 Pull Request!如需支持上游 TEngine 项目,请参考 上游赞助页。

致谢

本 Fork 部分功能参考并迁移自 DGame 项目,感谢 DGame 作者 @AmaniDawn 在 TEngine 基础上结合商业项目经验沉淀的实用模块与工具,为本仓库的定制改造提供了重要参考。


Made with ❤️ by TEngine Team

⭐ Star | 🐛 Issues | 📖 Wiki

About

对原版进行改造,支持多包初始化以及无人值守化更新,其他改动详情见「本 Fork 的定制改动」

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages