Setting resolution on a build

When setting a resolution in the player settings prior to doing a build, these settings are ignored if those settings are stored in the registry.

I have been doing a fair bit of research on this issue and found that Unity’s official response is that this is not an issue. The recommended work around for this is that you set the Screen.Width and Height in an initialization function, however this is insufficient because the Unity splash screen will be displayed with the resolution and settings stored in the registry. This causes the jarring effect of resolution changes for seemingly no reason to the user.

Furthermore, imagine the following case: You have an application you have designed specifically to run at a given resolution. In a later version, you make changes to the resolution and the application is now designed to run at a different resolution to the original. You push this new version out to clients and it runs at different resolutions based on if they had the old version installed, causing undesired behavior.

Resolution of the screen should be under full control of the programmer and stored registry keys should not take precedence unless the programmer chooses for it to do so.

Hopefully you can see from what I’ve written above that this IS an issue.

Well, at least this will confirm the issue for people who google this in the future, even if Unity ignore problems like this as usual.

Can you point me towards this response?

If you feel it is an issue then file a bug report and we can look into it. What you describe does sound like a bug.

Hi Karl,

Thanks for your response. The original post where it said to not be an issue is here - PlayerSettings are ignored when building windowed/fullscreen. - Unity Engine - Unity Discussions

I didn’t want to just file a bug as this guy had stated it is not an issue and therefore thought it might be something better to clarify in conversation first.