• Unity游戏Mod/插件制作教程01 - BepInEx的安装和使用


    前言
    本章节为没有使用过BepInEx的同学进行BepInEx的安装和使用方面的介绍,如果你之前已经使用过并了解如何使用,可以直接跳过本章节。

    BepInEx下载
    BepInEx的Github链接 https://github.com/BepInEx/BepInEx/releases

    一共有3种版本,BepInEx_unix_5.x.x.x为unix类操作系统使用的版本,教程以windwos版本为主(我没有其他系统的电脑),所以就不用下载这个版本了。BepInEx_x64_5.x.x.x和BepInEx_x86_5.x.x.x分别对应64位Unity和32位Unity,对于想要制作插件的游戏,打开游戏根目录,可以找到UnityCrashHandler64或者UnityCrashHandler32这两个文件的其中一个,根据末尾的数字选择对应版本的BepInEx下载。

    BepInEx安装
    前文提到过BepInEx的安装非常简单,只需要将BepInEx解压到游戏根目录即可。

    解压后的文件结构应如下所示(带星号的为BepInEx的部分):

    |-XXXGame
      |-BepInEx*
        |-core
          |-...
      |-XXXGame_Data
      |-doorstop_config.ini*
      |-UnityCrashHandler64.exe
      |-UnityPlayer.dll
      |-XXXGame.exe
      |-winhttp.dll*
    如果安装无误,启动游戏之后,在BepInEx文件夹下应该会生成几个文件夹,如下:

    |-BepInEx
      |-cache //缓存文件夹
      |-config //插件配置文件夹
      |-core //框架核心文件夹
      |-patchers //特殊插件文件夹
      |-plugins //常规插件文件夹
      |-LogPutput.log //BepInEx日志
    如果没有生成这几个文件夹,请重新确认游戏使用的Unity版本、游戏路径是否有中文、安装位置是否正确。

    你可能会疑惑,为什么我们没有运行任何程序,也没有什么注入dll的操作,BepInEx就加载成功了?

    这其实是因为,应用程序总是会用系统目录的一些库文件,而程序加载的时候,是先从自己的文件夹内搜索库文件,如果找不到,再去系统目录查找。利用这个原理,UnityDoorStop将加载插件的逻辑嵌入到winhttp.dll这个库中,同时不动它原来的其他逻辑。这样,就在保证了原功能不变并且不需要破坏游戏程序的情况下,加载了我们的插件。

    插件的安装
    本教程以常规插件的制作教程为主,所有的常规插件最后都是一个dll文件的形式,放入BepInEx/plugins文件夹下即可,它会自动读取这个文件夹下面的插件并加载。

    打开控制台
    在普通玩家的使用过程中,大部分情况并不需要看到控制台,玩家不需要了解插件背后做了什么,但是对于作者来说,控制台的作用非常大,在这里可以看到游戏本身输出的日志,插件也可以输出日志,方便我们对错误进行排查。

    BepInEx启动一次之后,会在BepInEx/config文件夹下生成一个叫BepInEx.cfg的文件,这个就是BepInEx的配置文件了。打开配置文件(推荐使用VSCode、Notepad++等高级文本编辑器),在[Logging.Console]条目下,我们将Enabled = false改为Enabled =  true,这样就开启了控制台的显示,打开游戏,即可看到控制台。

    BepInEx控制台

    有什么问题或者建议可以在评论区评论或者与我私信交流。

  • 相关阅读:
    代码随想录第45天 | ● 392.判断子序列 ● 115.不同的子序列
    Qt创建线程(使用moveToThread方法创建子线程)
    Java版本+企业电子招投标系统源代码+支持二开+招投标系统+中小型企业采购供应商招投标平台
    java从入门到精通二十九(Spring测试环境的简单部署)
    马斯克 0 元垫底、年薪近 1 亿美元的库克仅排第四?“魔幻”的 CEO 薪酬排名曝光
    K8S安装过程十:Kubernetes CNI插件与CoreDNS服务部署
    【Java】线程池学习(重要)
    万宾科技内涝积水监测仪效果,预警城市积水
    (三)构建网络模型
    OSPF —— 多区域部署 + ABR + ASBR + 路由重分发
  • 原文地址:https://blog.csdn.net/m0_69824302/article/details/127938356