UnityHotReload
Tool for hot reloading your code inside your BepInEx environment.
模組介紹 作者原文
UnityHotReload
Tool for hot reloading your code inside your BepInEx environment.
Setup
Your BepInEx plugin project needs a reference to UnityHotReload.dll.
You can add this reference in several ways, one of them is to download the latest release, extract the zip, and reference the DLL from there.
Once your plugin is built and running, you can trigger a hot reload right after recompiling your code in your IDE by calling:
void Update()
{
if (Input.GetKeyUp(KeyCode.F2))
{
UnityHotReload.LoadNewAssemblyVersion(
typeof(ExamplePlugin).Assembly, // The currently loaded assembly to replace.
"C:/dev/MyPlugin/MyPlugin.dll" // The path to the newly compiled DLL.
);
}
}
Limitations
Treat all types (classes, structs, etc.) as having a fixed set of fields. You should not add, remove, or change fields, or convert fields to properties (and vice versa). This limitation exists because UnityHotReload preserves the existing runtime state by redirecting all active references to the original type definitions.
You can freely modify method bodies, add or remove methods, reorganize code, add whole new classes or structs, but the structure and identity of existing fields themselves must remain consistent.
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。