Unity游戏是否可共用MonoBleedingEdge、UnityPlayer.dll等公共文件
Unity 2020.3.5f1多游戏共用运行时方案可行性说明
这个方案完全可行,只要满足对应前提即可落地,具体要求和注意事项如下:
- 核心前提:所有待整合的游戏必须使用完全相同的Unity 2020.3.5f1版本打包,且打包参数保持一致:包括架构(32位/64位统一)、脚本后端(统一为Mono,不能混入IL2CPP打包的游戏)、渲染管线配置完全相同,否则会出现依赖不兼容导致的游戏崩溃问题。
- 路径配置要求:你可以把所有公用文件(
MonoBleedingEdge文件夹、UnityPlayer.dll、UnityCrashHandler32.exe等)直接放在启动器根目录,和Games文件夹同级即可。启动器拉起单个游戏的Game.exe时,只需要将进程的工作目录设置为启动器根目录(也就是公用运行时文件所在的目录),系统会自动匹配查找对应依赖,不需要修改游戏本身的任何代码。 - 单个游戏的目录确实可以精简到只保留
Game.exe和Game_Data文件夹,整体存储空间占用最多可以降低一半,游戏数量越多的情况下收益越高。
踩坑提示:
- 若单个游戏有专属原生插件(存放在
Game_Data/Plugins目录下的dll文件),这类文件属于游戏私有依赖,不能抽出公用,需要保留在对应游戏的目录下。- 不要混用Unity 2020.3分支下其他小版本的运行时文件,哪怕是相邻的小版本也可能出现
UnityPlayer.dll和游戏资源不兼容的问题,公用运行时必须和打包用的2020.3.5f1版本导出的运行时文件完全一致。
内容的提问来源于stack exchange,提问作者FantaLaTone
相关产品推荐
相关产品推荐

