UnityModBase 是一个面向 Unity 模组开发的基础设施解决方案。仓库包含核心类库和 BepInEx 生命周期适配层,主要用于统一管理模组的生命周期、配置、日志、热键、翻译和 IMGUI 工具窗口。
| 目录 | 说明 |
|---|---|
UnityModBase |
核心类库,包含框架公开 API 和详细接入文档 |
BepInExLauncher |
BepInEx 启动适配层,负责初始化、游戏启动派发和统一释放 |
UnityModBase.Test |
基于 xUnit 的单元测试项目 |
| 文档 | 简体中文 | English |
|---|---|---|
| 核心类库说明与快速开始 | README | README |
| 公开 API、调用顺序与约束 | API | API |
初次接入建议先阅读核心类库 README;需要查找类型、成员、事件或线程约束时,再查阅 API 文档。
- 构建或取得
UnityModBase.dll与UnityModBase.BepInExLauncher.dll。 - 将两个文件放入目标游戏的
BepInEx/plugins目录。 - 在模组项目中引用
UnityModBase.dll。 - 按核心类库快速开始注册模组用户、配置、日志和实时控制项。
内置启动器会负责调用框架的 Initialize、GameBootRegistry.Boot 和 Dispose。使用该启动器的模组不应重复驱动全局生命周期。
| 热键 | 操作 |
|---|---|
F1 |
显示或隐藏配置窗口 |
F2 |
显示或隐藏日志窗口 |
F3 |
显示或隐藏实时控制窗口 |
Ctrl+R |
从磁盘重新加载所有已注册用户的配置 |
热键、界面语言和窗口布局均可在 UnityModBase 自身的配置中调整。三个窗口会分别记住选中的模组用户;已保存的用户不可用时会回退到默认用户。
热键文本使用 + 连接组合键、, 分隔备选组合,例如 Ctrl+F,GamepadStart+GamepadA。在配置文本中使用 (NONE),F1 可禁用热键并保留 F1 组合,删除 (NONE) 段即可恢复。单独的 (NONE) 也可表示禁用;此时通过界面重新启用会使用 F12 作为默认组合,可随后重新录制。
如果不使用 BepInEx 启动器,宿主需要自行选择安全的 Unity 生命周期节点,并按顺序调用初始化、游戏启动派发和释放入口。具体顺序及主线程约束见核心类库说明和生命周期 API。
UnityModBase 使用 LGPL-3.0 许可证,详见 LICENSE.txt。