开发环境的搭建与调试以及有用的工具们
必备工具
在正式开始编写Mod插件之前,我们需要准备一些工具:
- Visual Studio(VS)任意版本:https://visualstudio.microsoft.com/zh-hans/vs/
- dnSpy :https://github.com/dnSpy/dnSpy/releases [或其他你觉得用的顺手的反汇编工具]
- Visual Studio Code(VSC):https://code.visualstudio.com/ [或其他你觉得用的顺手的高级文本编辑器]
开启BepInEx Debug模式
用VSC打开“BepInEx\config\BepInEx.cfg”,
修改
[Logging.Console]
Enabled = false
为
[Logging.Console]
Enabled = true
提取需要的库
我们在项目文件夹中新建一个文件夹,取名为"libs",然后从游戏目录中复制一些我们需要用到的dll文件库出来:
“XXXX_Data\Managed”中的
"Assembly-CSharp.dll","UnityEngine.dll"
// 可选复制文件
"UnityEngine.CoreModule.dll","UnityEngine.UI.dll"
“\BepInEx\core”中的
"0Harmony.dll","BepInEx.dll","BepInEx.Harmony.dll"
到此,开发环境搭建好了,下一章我们开始创建项目
可选安装
- BepInEx.ConfigurationManager:[GitHub] [Mod站汉化版]
- BepInEx.Debug tools:https://github.com/BepInEx/BepInEx.Debug/releases
说明:
BepInEx.ConfigurationManager:
BepInEx.ConfigurationManager是BepInEx的一个内置管理UI,解压放到“BepInEx/plugins”,
进游戏按F1即可查看当前所有在运作中的插件;BepInEx.Debug:
BepInEx.Debug是BepInEx的一个调试工具库,里面也包含了一些其他的工具:- ScriptEngine:允许直接重新加载插件而无需重新运行游戏,将你的插件放到“BepInEx/scripts”文件夹中,并在游戏中按F6即可。你可以通过创建“OnDestroy()”方法来处理脚本重载时的需要卸载的资源;
- Startup profiler:记录每个脚本的加载所需时间;
- Mono Profiler:unity游戏的监听器,用来记录所有被调用的方法,调用次数和调用时间;
- Demystify Exceptions:更加人性化的处理报错格式,并正确解析IEnumerables,lambdas 和 async 的状态