MyFramework:最适合你的 Unity 游戏开发通用框架

MyFramework 是一套面向 Unity 游戏项目的通用开发框架。

它不是只封装几个 Manager,也不是只提供一组工具类,而是把 Unity 项目中常见的运行时系统、热更新分层、UI 工具链、配置表工具链、协议生成、对象池、事件、命令、输入、资源管理和工程检查整理到了一套结构里。

项目地址:

https://github.com/ZHOURUIH/MyFramework


一、框架定位

MyFramework 的定位是:

适合长期维护项目的 Unity 游戏开发框架。

它重点解决这些问题:

  • 项目代码如何分层

  • 热更新代码如何组织

  • UI Prefab 如何生成 C# 绑定代码

  • 配置表如何编辑、检查和生成代码

  • 网络协议如何减少客户端和服务器不一致

  • 框架对象如何复用和清理状态

  • 输入、事件、命令如何统一管理

  • 项目资源和代码如何提前检查

它不是最轻量的框架。

它更适合需要完整工程结构的项目。


二、适合项目

如果你的项目符合下面这些情况,MyFramework 会比较适合。

1. 长期维护

适合:

  • 商业项目

  • 长期运营项目

  • RPG / MMO 项目

  • 强联网项目

  • 系统会持续增加的项目

长期项目最怕的不是前期写得慢,而是后期越改越乱。

MyFramework 通过分层、生成工具、检查工具和统一生命周期管理,降低长期维护成本。

2. 需要热更新

MyFramework 使用明确的热更新分层:

复制代码
Frame_Base      非热更基础层
Frame_Game      非热更框架层
Game            非热更启动层
Frame_HotFix    热更框架层
HotFix          热更业务层

启动逻辑、热更加载、框架代码、业务代码各自有明确位置。

适合需要 HybridCLR 热更新的项目。

3. UI 数量较多

适合有大量窗口、子窗口、滚动列表、按钮、文本和复杂 Prefab 层级的项目。

MyFramework 提供 UGUIGenerator,可以根据 UI Prefab 生成:

  • 成员变量

  • 构造函数

  • assignWindow

  • 点击事件注册

  • 界面注册代码

UI 结构变化后,可以重新生成绑定代码,减少手写节点查找和漏改问题。

4. 配置表较多

适合配置表多、字段多、需要多人维护的项目。

MyFramework 配置表工具链支持:

  • CSV 数据

  • 自研表格编辑器

  • 表头规则

  • 字段类型

  • 字段所属

  • 字段链接表

  • 长度链接

  • 字段标签

  • 数据检查

  • C# 数据类生成

  • 注册代码生成

配置表不只是读取文件,而是从编辑、检查到代码生成的一套流程。

5. 需要客户端和服务器协作

MyFramework 配套 C++ 服务器框架 MyServerFramework。

适合需要处理这些内容的项目:

  • 登录

  • Ping

  • 战斗

  • 网络消息

  • 协议生成

  • 配置表双端使用

  • 客户端和服务器字段一致性

如果项目是强联网游戏,协议和配置表生成会比较有价值。

6. 不想把逻辑散在 MonoBehaviour 中

MyFramework 更倾向于统一系统生命周期。

资源、UI、输入、事件、命令、对象池、场景等系统都由框架统一注册、初始化、更新和销毁。

这样项目不会变成大量 MonoBehaviour 互相调用。

7. 关注 GC 和对象生命周期

MyFramework 提供:

  • ClassObject

  • ClassPool

  • ClassPoolThread

  • resetProperty

  • ClassScope

  • SafeList

适合战斗、网络、事件、命令、UI 刷新等高频逻辑较多的项目。

对象池不仅是减少 new,更重要的是通过 resetProperty 避免对象复用时残留旧状态。

8. 需要工程检查

MyFramework 提供多种 Editor 检查和生成工具:

  • UI 代码生成

  • 配置表代码生成

  • 协议代码生成

  • 资源检查

  • 代码检查

  • 热更引用检查

  • Prefab 检查

  • 图集检查

  • resetProperty 检查

这些工具的目的,是把问题尽量提前到编辑器阶段发现,而不是运行时才暴露。


三、不适合场景

MyFramework 不一定适合所有项目。

下面这些情况可能不太适合:

  • 只做很小的 Demo

  • 只做轻量单机小游戏

  • 不需要热更新

  • UI 和配置表很少

  • 不需要网络协议和服务器配合

  • 只想找最轻、最快上手的工具库

  • 不想接受框架规范和目录约束

MyFramework 的优势在中大型项目和长期维护项目中更明显。

如果项目规模很小,它会显得偏重。


四、总结

MyFramework 不是最轻量的 Unity 框架。

它适合的不是几天完成的小 Demo,而是需要长期维护、持续迭代、UI 和配置表较多、需要热更新、需要客户端服务器协作的 Unity 游戏项目。

如果你的项目需要:

复制代码
清晰分层
热更新支持
UI 代码生成
配置表生成
协议生成
对象池管理
统一输入
统一命令
统一事件
Editor 检查工具
客户端服务器协作

那么 MyFramework 会比较适合。

它的目标不是让项目一开始写得最少,而是让项目后期不容易失控。

这就是 MyFramework 作为 Unity 游戏开发通用框架的主要价值。