模组简介

这款C#加载器是专为《黑神话:悟空》开发的底层模组运行工具,针对游戏原生搭载的USharp脚本引擎特性打造,主要面向有二次开发需求的模组创作者,以及想要体验更多基于C#编写的功能扩展模组的普通玩家使用。由于黑神话悟空的部分内部逻辑仅在C#层实现,对应的专属接口无法通过UE原生的C++或Lua脚本访问,普通模组很难触及这些深层功能点位,而本加载器则打通了C#层API的调用通道,让开发者可以基于更底层的游戏原生能力制作模组,突破传统UE模组的功能边界。

功能要点

  • 支持所有基于C#语言开发的第三方模组加载运行,这类模组可以直接调用游戏原生C#层提供的专属接口,以及经过C#包装的UE引擎原生接口,实现传统模组无法完成的自定义逻辑调整
  • 提供游戏内部事件与委托的回调追加能力,开发者可以通过该功能在指定游戏逻辑触发时插入自定义处理代码,实现比如状态监控、数值修改、交互规则调整等各类深度自定义效果
  • 完整支持C# Patch与Hook功能,允许模组开发者在游戏原函数执行前后插入自定义逻辑,可用于修改原有函数返回值、拦截特定执行流程、补充缺失的状态同步逻辑等开发场景
  • 兼容除PS手柄、Switch手柄之外的普通第三方手柄按键检测逻辑,开发者也可以直接通过钩子绑定OnAnyKeyTriggerEvent事件完成全局按键响应捕获,拓展自定义操作绑定的覆盖范围
  • 适配其他使用version.dll的第三方插件,无需修改原有插件的核心逻辑,仅需将对应插件文件放入指定目录即可完成兼容加载,无需调整其他现有模组的运行配置

安装方法

本模组支持 神尺管理器 一键安装,选择对应版本的C#加载器安装包确认安装即可自动完成所有文件部署,无需手动调整目录结构。如果选择手动安装,首先将压缩包内的所有内容解压到游戏根目录下的BlackMythWukong/b1/Binaries/Win64/路径中,解压完成后会自动生成CSharpLoader目录,该目录下自带DataModsPlugins三个子目录,同时根目录下会放置0Harmony.dllCSharpManager.binCSharpModBase.dllMono.Cecil.dllMono.Cecil.Pdb.dllMono.Cecil.Rocks.dllb1cs.iniversion.dll这些核心运行文件。后续玩家自己获取到的C#格式模组DLL文件,统一放置到CSharpLoader/Mods/子目录中即可被加载器识别运行,需要兼容的其他使用version.dll的第三方插件,则全部放到CSharpLoader/Plugins子目录中即可。若解压后发现目录结构与上述说明不符,请以压缩包内的附带说明文件为准。

版本更新说明

当前公开的正式版本从0.0.8迭代到0.1.0,其中0.0.8版本首次加入C# Patch/Hook支持,同步新增普通手柄按键适配能力,尝试兼容包含中文在内的非英文游戏路径,解决了此前部分玩家因游戏安装路径含中文字符导致加载器无法启动的问题;后续推出的0.0.9版本回调了部分初始化等待时长,避免此前提前初始化的改动导致部分早期基于前版接口开发的第三方C#模组启动失败,保障旧版模组的向下兼容;最新的0.1.0版本再次适当提前了加载器的初始化时机,同时修复了初始化阶段的潜在报错问题,方便需要在游戏最早期运行的模组提前完成Hook操作,获取到更早的游戏运行事件。所有迭代版本均未改动核心目录结构,旧版本用户直接覆盖安装新版文件即可完成升级,原有Mods目录下的模组文件无需重新部署。

注意事项与兼容性说明

本加载器当前暂不支持PS、Switch平台规格的手柄原生按键事件捕获,使用这两类手柄的玩家暂时无法通过该加载器获得对应自定义按键响应的支持。如果你的游戏安装路径存在特殊字符,建议调整为全英文路径后再启动加载器,避免出现文件读取异常的问题。运行过程中请勿随意删除或修改b1cs.ini配置文件内的参数,错误的参数调整可能导致加载器无法正常启动,若修改后出现异常,可以直接替换为原版文件恢复默认配置。目前没有发现本加载器与其他常用UE插件类模组存在核心冲突,若同时运行多个依赖底层钩子的插件,请统一放入Plugins目录中按加载器规则调度,不要直接散放到游戏的可执行文件同级目录下。

常见问题

  • 放入C#模组DLL后游戏启动没有对应效果怎么办?首先检查DLL文件是否放到了指定的CSharpLoader/Mods目录下,同时确认该模组的版本适配当前使用的CSharpLoader版本,部分仅适配旧版加载器的模组可能无法在新版环境下正常运行
  • 加载器启动后出现乱码弹窗提示找不到文件?请检查游戏安装路径是否包含未被支持的特殊符号,确认所有核心DLL文件都没有被系统杀毒软件误隔离,若存在隔离情况请将对应文件加入白名单后恢复即可
  • 之前安装的其他使用version.dll的插件无法和本加载器共存?直接将原有的插件所有相关文件移动到CSharpLoader/Plugins目录下即可,加载器会自动调度这类插件运行,不需要额外修改插件内部配置