自制亲爱的Unity游戏MOD管理器DUMM,基于UMM进行代码重构、功能增强、界面美化、汉化的特别版本!!(2023年10月2日更新)
本帖最后由 liyun_1981 于 2023-10-2 21:19 编辑前言
Unity引擎类游戏的知名修改神器 Unity Mod Manager(简称 UMM ),同广大水友一样,俺也关注这个软件有一阵子了,原作者是一位俄罗斯老兄 newman55 ,历时10个多月,前后共发布了17个版本,从之前的侵入式注入游戏到目前的无侵入式注入游戏,在Unity引擎类游戏MOD制作的道路上已经迈进了一大步;不过这位老兄至今已经有两个多月没有更新代码了,俺决定接坑过来继续填,其实俺年前在写 Unity引擎类游戏MOD制作通用教程 这个教程帖子的时候早已有了做一个类似 UMM 的工具的想法,因此,俺决定把自制的这个工具名字叫做 Dear Unity Mod Manager ,觉得甚为亲切,其实起名的灵感来源于俺一直关注的另一位法国老兄 ocornut 开发的知名 即时GUI类库 dear imgui !
正题
如题,此工具诞生于俺对 UMM 全部代码的全面梳理和多次重构、改进;UMM 水友们已经比较熟悉了,论坛里也已经有几位水友发了诸如搬运、汉化类的帖子,因此,具体的介绍俺不再赘述,俺先说明下 Dear Unity Mod Manager(简称 DUMM ) 比 UMM 改进了那些方面:
1、对 UMM 安装界面进行了美化处理,支持73种自定义皮肤;
2、对 UMM 游戏内置界面进行了美化,界面字体改为微软雅黑,默认大小为20号字,字体缩放改为最小1倍和最大2倍,且改进了控件等比缩放的算法,从此4K分辨率上不再看瞎眼,舒心多了;
3、对 UMM 的游戏插件类库UnityModManager.dll进行了BUG修复和性能调优;
4、UMM 依赖的所有第三方类库已更新到最新,MOD模块注入类库 UnityDoorstop 使用最新版,类库文件名称为winhttp.dll;
5、建议水友们安装 DUMM 时优先选择安装方式为“DoorstopProxy”,这种方式不会修改游戏目录中的任何dll类库文件,是一种纯内存注入的方式;
6、改进了 UMM 的更新程序,并取名为 DUMMUpdater.exe ,方便水友们能及时获得俺发布在 GitHub 网站上的最新版 DUMM ;
7、改进了 UMM 安装程序的配置文件 UnityModManagerConfig.xml ,现在 GameInfo 节点的 Name 属性已指定为游戏中文名称,游戏原始名称变更到新增的节点 GameName ,并且新增了一个可选填节点 GameScriptName ,该节点专用于某些需要在 UnityModManager.dll 类库中作特殊处理的游戏,比如:《索拉斯塔:法师之冠》。
DUMM 程序的运行环境要求:
1、操作系统必须为WIN10 X64;
2、需要安装了 .Net Framework Runtime v4.7.2+;
DUMM 项目源代码链接:
https://github.com/legendaryhero1981/Dear-Unity-Mod-Manager
特此说明:
本人之前做了多年的软件系统架构设计,几年前已经成为了一名自由开发者,通过在各大网络外包平台上接单赚钱,但赚钱多少主要靠运气;基于我十多年软件系统运维、开发的经验以及对PC游戏的热爱,我利用几年自由时间开发和制作了《PC游戏Mod制作及系统运维、开发人员实用工具合集》,自认为此软件无论对PC游戏MOD制作爱好者还是软件系统运维、开发人员都有显著的实用价值;我希望广大水友中有认可我制作的软件,且觉得它对你有明显的实用价值,不妨以自愿赞助式付款购买软件的形式支持我,这也是我今后持续更新这些软件的最大动力!我的所有作品的平台展示购买页面请点击《PC游戏Mod制作及系统运维、开发人员实用工具合集》。使用Steam平台游戏的水友也可以加我为好友,我的Steam好友码:1248726110
喜爱象棋麻将竞技游戏的水友也请去B站关注支持我,我基本每天会在B站直播象棋麻将竞技游戏,我的B站主页:https://space.bilibili.com/493747675
如果打开DUMM后日志信息显示“ping请求期间发生异常”的水友,是由于github的网址被墙了,可以去下载这个代理软件:steamcommunit
附件下载:
**** Hidden Message *****
特别说明: DUMM 项目俺会长期更新的,原则上 UMM 后续发布了新版本会及时更新,DUMM 的版本号命名规则是前三位与 UMM 保持一致,最后一位表示 DUMM 的更新版本号;譬如目前最新的 DUMM 版本号是 v0.17.0.5,表示对应的 UMM 版本号是 v0.17.0,而 DUMM 自身的更新版本号是5,说明已经更新了5个版本。
2019年6月27日更新:
DUMM代码更新到 v0.18.0.6版,与最新的UMM v0.18.0版保持同步。
2019年7月2日更新:
DUMM代码更新到 v0.18.0.7版,MOD安装管理器bug修正。
2019年7月6日更新:
DUMM代码更新到 v0.19.0.8版,与最新的UMM v0.19.0版保持同步。
2019年7月14日更新:
1、DUMM代码更新到 v0.20.0.9版,与最新的UMM v0.20.0版保持同步;
2、已实现DUMM游戏内插件界面的设置窗口,缩放UI大小并按确定按钮后DUMM窗口宽度自动同步缩放;
3、DUMM游戏内插件界面的设置窗口,现在已支持自定义开关插件界面的快捷键。
2019年7月17日更新:
1、DUMM代码更新到 v0.20.0.10版;
2、DUMM核心API类库新增了一个能与所有依赖于DUMM类库的Mod类库交互的委托接口ModEntry::Action<ModEntry> OnModAction,作用是彻底解决在Mod类库中大数据量更新Unity的UI时会导致卡顿和游戏假死的问题,例如:受广大水友们喜爱的BagOfTricks(百宝袋Mod),可以通过在此Mod类库代码中将诸如添加所有物品到背包此类功能摒弃同步API调用,而是将API调用委托给DUMM类库的UI实例在主线程中使用协程异步调用,这样在DUMM界面点击添加物品按钮后会立即返回,而不会导致游戏假死。
2019年7月18日更新:
1、DUMM代码更新到 v0.20.0.11版;
2、已将委托接口ModEntry::Action<ModEntry> OnModAction改为ModEntry::ConcurrentStack<Action<ModEntry>> OnModActions,现在已支持在DUMM界面上连续多次点击诸如添加物品按钮此类操作后会连续异步执行所有操作。
2019年7月22日更新:
1、DUMM代码更新到 v0.20.0.12版;
2、新增打开DUMM窗口时完全冻结游戏UI和快捷键响应功能,即如同在游戏中按ESC键打开游戏菜单后的效果,目前仅完全支持《开拓者:拥王者》。
2019年7月23日更新:
1、DUMM代码更新到 v0.20.0.13版;
2、修复v0.20.0.12版在游戏主菜单界面打开DUMM后会导致载入游戏后在游戏大地图旅行时摄影机无法移动的bug。
2019年7月26日更新:
1、DUMM代码更新到 v0.20.0.14版;
2、DUMM安装程序新增DUMM目录不能放在游戏主目录及其子目录下的提示,即原则上要求DUMM目录放到单独的目录下,例如:你本机《开拓者:拥王者》的安装目录是D:\games\Pathfinder Kingmaker,那么DUMM目录不能放到D:\games\Pathfinder Kingmaker目录及其子目录下。
2019年7月29日更新:
1、DUMM代码更新到 v0.20.0.15版;
2、DUMM新增支持在Mod配置文件Info.json中设置是否打开冻结游戏UI模式,FreezeUI字段设置0或false为关闭,否则为打开,例如:洗点Mod“Respecialization”不支持冻结游戏UI模式,使用DUMM安装好该Mod后可手动修改 Pathfinder Kingmaker\Mods\Respec 目录下配置文件 Info.json,新增一行配置信息:"FreezeUI": "0", 即可,这样DUMM会关闭冻结游戏UI模式。
2019年7月31日更新:
1、DUMM代码更新到 v0.20.0.16版;
2、DUMM新增UI::WindowSize接口,供Mod类库调用获得DUMM窗口当前的尺寸,支持最新版的百宝袋Mod v1.14.1.8。
2019年8月23日更新:
1、DUMM代码更新到 v0.20.0.17版,支持最新版的百宝袋Mod v1.14.4.12;
2、DUMM的UI布局优化及美化;
3、新增支持自定义替换游戏插件界面的背景图片,只要手动替换图片文件DearUnityModManager\background.jpg即可;
4、新增多种自定义GUIStyle样式,并且新增了一些UI接口供Mod类库调用:
UI::ScrollViewPosition 获得DUMM窗口的ScrollView控件位置对象;
UI::WindowPosition 获得DUMM窗口位置对象;
UI::ShowTooltip 显示控件的文本提示。
2019年9月4日更新:
1、DUMM代码更新到 v0.21.0.18,整合UMM最新版 v0.21.0;
2、DUMM安装界面的Mod列表管理模块更新检测功能增强,现已支持4段版本号检测。
2019年9月5日更新:
1、DUMM代码更新到 v0.21.0.19,支持最新版的百宝袋Mod v1.14.5.14;
2、规范化UI类的所有字段、方法的命名;
3、DUMM游戏插件模块的日志文件UnityModManager\Log.txt改为只保留最近一次启动游戏后的日志。
2019年9月27日更新:
1、DUMM代码更新到 v0.21.1.20,整合UMM最新版 v0.21.1;
2、修复了DUMM游戏插件界面的Mod依赖列表显示问题。
2019年10月15日更新:
1、DUMM代码更新到 v0.21.2.21,整合UMM最新版 v0.21.2;
2、配置文件DearUnityModManager\UnityModManagerConfig.xml中GameInfo节点下新增一个可选子节点FixBlackUI;
3、修复了DUMM游戏插件界面的背景图片问题,优先使用自制图片文件DearUnityModManager\background.jpg,若图片文件不存在或加载失败,则根据配置文件DearUnityModManager\UnityModManagerConfig.xml中GameInfo节点下的FixBlackUI子节点值决定,若值为1或true则使用默认的浅灰色背景,否则使用默认的深灰色背景。
2019年11月8日更新:
1、DUMM代码更新到 v0.21.2.22,更新UnityDoorstop最新版v2.12.0.0;
2、鉴于UnityDoorstop的类库文件名已从“version.dll”变更为“winhttp.dll”,建议更新此版本前先运行上一版本的DUMM后点“从游戏卸载MOD管理器模块”,再运行此版本的DUMM后点“安装MOD管理器模块到游戏”。
2020年2月8日更新:
1、DUMM代码更新到 v0.21.4.23,整合UMM最新版 v0.21.4;
2、修复了DUMM游戏插件界面的依赖Mod缺失问题。
2020年2月9日更新:
1、DUMM代码更新到 v0.21.4.24,支持最新版百宝袋-DUMM版 v1.15.3.21;
2、现已较好地实现了在UI界面异步并行批量获得物品的操作。2020年4月8日更新:
1、DUMM代码更新到 v0.21.6.25,整合UMM最新版 v0.21.6。2020年4月16日更新:
1、DUMM代码更新到 v0.21.8.26,整合UMM最新版 v0.21.8;2、将配置文件DearUnityModManager\UnityModManagerConfig.xml中GameInfo节点下的Additionally子节点名称改为Comment,作为安装注释说明字段。2020年5月12日更新:
1、DUMM代码更新到 v0.22.1.27,整合UMM最新版 v0.22.1;2、Harmony类库更新到v2.0.1。2020年5月17日更新:
1、DUMM代码更新到 v0.22.3.28,整合UMM最新版 v0.22.3;2、配置文件DearUnityModManager\UnityModManagerConfig.xml中新增了一些新游戏的配置,v0.22.1.27版本以后的游戏Mod都将使用最新的Harmony类库v2.x。2020年5月25日更新:
1、DUMM代码更新到 v0.22.3.29,第三方类库更新;2、UnityDoorStop类库更新到v3.0.0(类库文件名改为version.dll),dnlib类库更新到v3.3.2,Newtonsoft.Json类库更新到v13.0.1。2020年5月31日更新:
1、DUMM代码更新到 v0.22.4.30,整合UMM最新版 v0.22.4;2、Harmony类库更新,Mod重载逻辑修正;3、UnityModManager.UI类新增UMM的GUIStyle样式,以便支持UMM相关Mod调用,现在DUMM已经可以正确加载使用了UMM的UI控件样式的Mod了(如:洗点Mod Respec等等)。2020年6月3日更新:
1、DUMM代码更新到 v0.22.5.31,整合UMM最新版 v0.22.5;2、ModInfo类新增LoadAfter字段,对应于Mod的配置文件info.json中的LoadAfter字段,作用是指定Mod加载后需要后续加载的其他Mod列表。2020年6月17日更新:
1、DUMM代码更新到 v0.22.6.32,整合UMM最新版 v0.22.6;2020年7月30日更新:
1、DUMM代码更新到 v0.22.8.33,整合UMM最新版 v0.22.8;2、Harmony类库更新到v2.0.2;3、配置文件DearUnityModManager\UnityModManagerConfig.xml中新增了一些新游戏的配置。2020年8月21日更新:
1、DUMM代码更新到 v0.22.8.34;2、更好的支持《开拓者:拥王者》终极版V2.1.0H。2020年8月22日更新:1、由于该游戏使用的unity引擎从2018.1更新为2018.4版,UI界面有些变化,已修正界面布局错乱问题。2020年8月23日更新:1、DUMM代码更新到 v0.22.8.35;2、游戏内UI界面代码重构,完全支持unity2018.4版引擎,文字和布局都已能正常显示;3、修正MOD异步调用方法接口,支持unity2018.4版引擎。2020年8月28日更新:1、DUMM代码更新到 v0.22.9.36,整合UMM最新版 v0.22.9;2、支持《开拓者:拥王者》v2.1.0j版。2020年10月2日更新:
1、DUMM代码更新到 v0.22.11.37,整合UMM最新版 v0.22.11;2、UnityDoorStop类库更新到v3.0.2.2(类库文件名改为winhttp.dll);3、配置文件DearUnityModManager\UnityModManagerConfig.xml中新增了一些新游戏的配置。2020年10月20日更新:
1、DUMM代码更新到 v0.22.12.38,整合UMM最新版 v0.22.12;2、配置文件DearUnityModManager\UnityModManagerConfig.xml中新增了一些新游戏的配置。2020年10月31日更新:
1、DUMM代码更新到 v0.22.13.39,整合UMM最新版 v0.22.13;2、Harmony类库更新到v2.0.3。2020年11月20日更新:
1、DUMM代码更新到 v0.22.14.40,整合UMM最新版 v0.22.14;2、Harmony类库更新到v2.0.4,UnityDoorStop类库更新到v3.1.0.0。2020年12月25日更新:
1、DUMM代码更新到 v0.22.15.41,整合UMM最新版 v0.22.15。2021年2月19日更新:
1、DUMM代码更新到 v0.23.0.42,整合UMM最新版 v0.23.0;2、UnityDoorStop类库更新到v3.2.0.0;3、DUMM主目录下新增配置文件UnityModManagerConfigLocal.xml,水友们可用于配置添加自己喜欢的Unity游戏;4、配置文件UnityModManagerConfig.xml中新增了一些新游戏的配置,GameInfo节点新增了ExtraFilesUrl子节点,该节点为游戏Mod正常生效提供“附加文件”的下载链接;5、DUMM的“安装”选项卡界面新增“附加文件”下载功能,专用于某些需要下载一些附加文件并解压缩到游戏目录,才能使Mod生效的游戏。2021年3月15日更新:
1、DUMM代码更新到 v0.23.2.43,整合UMM最新版 v0.23.2;2、UnityDoorStop类库更新到v3.3.1.0;3、配置文件UnityModManagerConfig.xml中新增了一些新游戏的配置。2021年4月5日更新:
1、DUMM代码更新到 v0.23.3.44,整合UMM最新版 v0.23.3。2021年4月15日更新:
1、DUMM代码更新到 v0.23.4.45,整合UMM最新版 v0.23.4。2021年6月2日更新:
1、DUMM代码更新到 v0.23.4.46,支持《开拓者:拥王者》v2.1.7b版本;2、bug修复。2021年8月20日更新:
1、DUMM代码更新到 v0.23.5.47,整合UMM最新版 v0.23.5;2、UnityDoorStop类库更新到v3.4,Harmony类库更新到v2.1.1,dnlib类库更新到v3.3.3;3、配置文件UnityModManagerConfig.xml中新增了一些新游戏的配置。2021年9月4日更新:
1、DUMM代码更新到 v0.23.5.48,修复了一些bug;2、新增支持《开拓者:正义之怒》正式版;3、新增支持N网的ToyBox百宝袋MOD。2021年9月21日更新:1、DUMM代码更新到 v0.23.5.49,新增《开拓者:正义之怒》Steam版本的配置;2、经本人测试,发现GOG版和Steam版在游戏版本相同的前提下,文件Assembly-CSharp.dll的内容是一样的,理论上可以通用,大家可以根据安装的游戏平台版本在DUMM的“安装”选项卡界面上灵活切换配置,GOG版切换游戏配置为“开拓者:正义之怒”,而Steam版切换游戏配置为“开拓者:正义之怒(Steam版)”即可。2021年10月8日更新:
1、DUMM代码更新到 v0.24.0.50,整合UMM最新版 v0.24.0;2、代码更新,支持N网的ToyBox百宝袋MOD。2022年2月18日更新:
1、DUMM代码更新到 v0.24.2.51,整合UMM最新版 v0.24.2;2、配置文件UnityModManagerConfig.xml中新增了一些新游戏的配置。
2022年6月29日更新:
1、DUMM代码更新到 v0.24.3.52,整合UMM最新版 v0.24.3;2、UnityDoorStop类库更新到v4.0.0,Harmony类库更新到v2.2.2,dnlib类库更新到v3.5.0;3、配置文件DearUnityModManager\UnityModManagerConfig.xml中新增了一些新游戏的配置。
2022年9月28日更新:
1、DUMM代码更新到 v0.24.5.53,整合UMM最新版 v0.24.5;
2022年10月13日更新:
1、DUMM代码更新到 v0.25.0.54,整合UMM最新版 v0.25.0;2、配置文件DearUnityModManager\UnityModManagerConfig.xml中新增了一些新游戏的配置。
2022年11月30日更新:
1、DUMM代码更新到 v0.25.1.55,整合UMM最新版 v0.25.1;2、配置文件DearUnityModManager\UnityModManagerConfig.xml中新增了一些新游戏的配置。
2023年3月11日更新:
1、DUMM代码更新到 v0.25.5.58,整合UMM最新版 v0.25.5;2、配置文件DearUnityModManager\UnityModManagerConfig.xml中新增了一些新游戏的配置;3、新增对《索拉斯塔:法师之冠》的mod支持;4、引用类库文件架构调整,以适用于自unity2018起及以后的所有引擎版本游戏,今后会为每个不同的unity引擎版本编译一个不同的MOD管理器核心API类库文件UnityModManager.dll,请仍在玩unity2018引擎之前制作的游戏(如:《开拓者:拥王者》)的水友特别注意,使用DUMM更新了MOD管理器模块后,记得手动解压缩文件“DearUnityModManager\UnityModManager.dll(Unity2018引擎游戏解压缩此文件到相关目录覆盖同名文件).7z”,并将得到的文件UnityModManager.dll复制到目录Managed\UnityModManager下并覆盖同名文件。2023年3月13日更新:
1、DUMM代码更新到 v0.25.5.59,已实现程序根据游戏使用的unity引擎版本自动选择特定的管理器游戏内插件UnityModManager.dll,以提高稳定性;2、游戏内管理器设置界面新增了一个字体选择功能。
2023年3月20日更新:
1、DUMM代码更新到 v0.25.5.60,管理器游戏内界面布局调优;2、优化github上《索拉斯塔:法师之冠》的“未完成的业务”MOD设置项的显示效果。
2023年3月28日更新:
1、DUMM代码更新到 v0.25.5.61,管理器游戏内界面布局重写,优化字体缩放算法和控件样式。
2023年7月19日更新:
1、DUMM代码更新到 v0.27.2.62,整合UMM最新版 v0.27.2;2、配置文件DearUnityModManager\UnityModManagerConfig.xml中新增了一些新游戏的配置。2023年10月2日更新:
1、DUMM代码更新到 v0.27.8.64,整合UMM最新版 v0.27.8;2、配置文件DearUnityModManager\UnityModManagerConfig.xml中新增了一些新游戏的配置。
DUMM 界面自定义皮肤设置请水友们参见下面的界面截图,俺就不再赘述了!
下面,俺再简明的说下 DUMM 的使用操作流程:
1、解压缩文件 DearUnityModManager.7z 到任意目录,例如:D:\tools;
2、运行 DUMM 管理器主程序 DearUnityModManager\DearUnityModManager.exe ,首先从下拉列表框中选择一个游戏(例如:开拓者:拥王者),然后再点下面的按钮在弹出的对话框中指定游戏的主目录,如下图:
3、点击 “安装MOD管理器模块到游戏”按钮,成功安装后管理器窗口最下方的状态栏会显示“安装管理器模块到游戏成功!”;
4、点击管理器窗口上方的“Mods”选项卡切换到Mod安装管理界面,可以将已下载好的Mod压缩文件直接拖动到窗口下方的“Drop zip files here”区域,或者点击窗口下方的“安装MOD”按钮在弹出对话框中指定一个Mod压缩文件,MOD安装完成后会自动添加到窗口上方的MOD列表表格中,如下图:
5、至此,DUMM 和游戏MOD都已经安装完毕,现在可以运行游戏看看效果了,进入游戏主菜单后会自动显示 DUMM 的游戏内置界面,如下图:
6、点击窗口上方的“设置”按钮切换选项卡,可以设置开关 DUMM 窗口的四种不同的快捷键,以及窗口大小和UI控件等比缩放调整,如下图:
7、关闭 DUMM 窗口,待读取游戏存档载入游戏后,再次打开 DUMM 窗口,点击“Mods”按钮切换选项卡,点击MOD列表表格中的任意一个MOD名称或者MOD选项小图标展开MOD设置界面,现在就可以愉快的测试自己感兴趣的MOD功能了,如下图:
sdfsdfsdfsdf 本帖最后由 459950393 于 2019-6-15 01:03 编辑
难得前排 kkkkkkkkkkkkkkkkkkk
哒哒哒哒哒哒多多多多多多多多多多多多
是的发送到发送到发送到发斯蒂芬
送达大厦
严重支持 66666666666666
谢谢分享
感谢大佬制作
用一用。谢谢~
感谢分享。
有了就是好
感谢分享!
谢谢分享
fg987s89rfg746sdf 感谢分享! 看看啊。看看吧 6666666666666
6666666666666
66666666666666666666
支持大佬
真的支持,这种技术贴就不发平常的回复糊弄了,辛苦了,非常感谢 本帖最后由 582347241 于 2019-6-19 01:15 编辑
操作系统必须为WIN10 X64
WIN7切用不了
楼主能搞个通用版吗??
今天发现能用了
感谢分享,试试看行不行
66666666666
收藏了。谢谢楼主分享 阿三地方就会股吧风格nba的积分回馈给吧健康是福把时间的客户吧获奖高分贝多芬攻速
楼主大能!非常感谢!