Unity发布自定义分辨率程序


unity3D集成打包发布的功能着实让我这个一直写qt程序爽了一把。
Unity发布程序官方教程:https://docs.unity3d.com/Manual/PublishingBuilds.html
但是最近遇到一个很小却有点麻烦的问题,那就是打包程序的分辨率设置问题:

一般解决方案





Unity发布自定义分辨率程序

按照图中红框勾选设置好自己想要的分辨率。

问题就来了:




为什么屏幕分辨率会重置?

当你用Unity构建一个新的游戏时,它会在你为playersettings的公司名称下保存一个注册表键(在windows中)或preference file(在Mac上)。默认情况下,这是“DefaultCompany”。许多人甚至都不知道Unity游戏是在你构建和运行它们的时候这么做的。 你如果不断做测试构建快速删除该文件夹,和重建,然后运行exe或应用。然而,如果公司名称没有变的话,注册表键或preference file还包含之前显示设置和其他设置,不会覆盖当前你新构建的设置。

如何解决问题?

在windows上,找到这个registry key:HKEY_CURRENT_USER\Software\[company name]\[product name],删除整个目录,然后重新构建,运行程序

对应的找到在Mac中~/Library/Preferences/unity 的目录下删除对应的preferences file


如果还是没有效果,最终解决方案:加载的第一个场景的c#脚本中在代码中添加         Screen.SetResolution(width, height, false);