Because we can’t always reproduce a bug that’s reported on the forum. There’s often more to it than a simple description, it could be the way the project is setup, the platform, the combination of packages and versions etc. It also means you can track the bug. If I report it, can’t reproduce it and close it as fixed then you have no way to correct it and help us understand why we could not reproduce it. Many people may post on a forum and say they have the same symptoms of a bug but that’s doesn’t mean they have the same bug.
it’s an unbelievably obvious and straightforward problem.
it’s blatantly obvious in every version and every project
it’s one of the most famous problems in Unity (and that’s saying something)
unity haven’t fixed it in 15? (!!) years, they never will
15 years with no bug report? I’ll try and take a look at it next week but if you really want it fixed then filing a bug report is the best way to guarantee it.
I’m actually not sure what THE ISSUE discussed here is. Throughout the thread, people have been complaining about semi-related but actually different Unity player behaviours.
Let’s take a look:
This is by design. It’s not a bug, this is how 99% PC games works.
This has been fixed a few years ago. If you change player settings and build again, Unity will ignore the saved settings and instead use the ones from Player Settings (but only once - because the defaults changed). Registry clearing is no longer necessary.
This sounds entirely unrelated to whatever is discussed in the thread.
This is yet another slightly-different-but-not-the-same issue (the game runs in a resolution that is not “supported”). This one is by design too, as PC games are supposed to work in any resolution because gamers use displays of variety of resolutions (from 1368x768 on cheap laptops, 4k on the high end or even ultra wide). Forcing a specific resolution makes the gaming experience suck.
While I understand that PC games is not the only thing people use Unity for when building for Windows, it’s still the primary use case, so the engine optimizes for that use case. You can force a specific resolution using Screen.SetResolution API call, it’s just that 99% of the projects will not want to do that. But the option’s there if you want it. You can even recompile the executable and force the startup resolution/fullscreen mode before the game starts.
This seems like yet another different issue.
This was fixed but wasn’t exactly what others reported in this thread.
I think it’s pretty fair to say that “this problem” is neither obvious nor straightforward.
So the problem I had was that even if I set the app to fullscreen the ‘remembered’ setting would always be windowed mode on launch. This is on 2020.3.29f1. I tried to recreate the bug in a new project but so far I’ve been unable to and I didn’t save a version of the project where the bug was present, so I don’t have any helpful details to give in a bug report.
In the end the thing that fixed it for me was following this post:
A couple more details. I am using the “resizable window” setting and allowing switching between exclusive fullscreen and windowed in my game’s settings.
In the code I set both Screen.fullscreenmode and Screen.fullscreen each time I switch,
I don’t know exactly what goes wrong with your issue, but just a note: Screen.fullScreenMode superceeded Screen.fullScreen, so you don’t need to set both.
It’s interesting that it would remember the wrong fullscreen mode. I wonder, perhaps it was crashing on closing and didn’t manage to save setting or something?
I’m having the same issue. I have a project set up to play in full screen mode via Project Settings → Player. I build the project and run it. It runs in fullscreen mode as expected. Later I decide I want it to play in window mode, so I make that change in the same location; Project Settings → Player. I build the project and run it. It runs in fullscreen mode, this is not expected behavior (from a developers standpoint). It seems that when the project is built, the registry key is set only if it is empty. So later builds will not pull in updates to settings. For a game or other application running as a production build, this isn’t expected behavior. If the player settings are changed, a user would expect that change to be respected.
To be clear, there were no crashes or other errors and the application exited successfully when prompted.
It is not what you want to happen - I added a windowed-mode check and set in the code when this was happening, so if is in fullscreen at start, changes to windowed mode! Might be only way to be sure!
My customer asked me to set to fullscreen so I checked
- set to Exclusive Fullscreen
- unchecked Resizable Window
- unchecked Allow Fullscreen Switch // I don’t know theses matters
However customer tell me it runs in window mode and I doubted but it actually is. And never goes back as it is registered in Windows Registers & not allowed fullscreen switch = no alt + enter(as customer didn’t want to switching(actually to window mode, but it already happend) )
After checking some, I saw when the app ran twice(2 instances simultaneously), the app goes window mode and its fixed.
2023 and I was having this issue. Full screen (as it should’ve been) on my desktop, windowed on my laptop. Deleting the registry entries did the trick as described here:
I made a quick editor to open regedit at the good place to reset the cache. Feel free to use and edit it.