Then they gave us a C/C++ Screen Selector project that’s really ugly to get working (particularly if you don’t have a C/C++ Windows SDK background) and is nowhere near as convenient to use. For instance, default resolution is always 640x480. And how do I make it to run my Unity app after clicking Play?
“Based on user data and customer research” … well, I have a hunch in this case it’s nowhere as obvious as, say, the removal of … what was it called? That scripting language that no one even remembers existed 5 years ago when it was still part of Unity. Ah … yes, Boo! So no, some of us do need the resolution dialog! Dearly so.
I understand, if it’s in the way of something new and great, by all means remove it and (gradually) replace it with something better, less buggier. But user data and customer research? Come on. We’re the 10% you ignored who make non-public apps or just like to tinker with settings and generally dislike sending usage data to Unity!
Enough ranting … the good thing about this is, it’s something we can simply fix this and bring it back - and making it even better!
So without further ado here’s the replacement I’ve come up with:
Screenshot from the editor. Actual data will differ. 16k? We’re not quite there yet.
Unfortunately not. It would have been a rather odd behaviour therefore I opted not to try and mimic this behaviour.
The reason is: GetKey() only works in Update(), and apparently while a scene is loading or in the first scene, the first time keys are registered/received happens at the earliest in the 3rd time Update() gets called. So you would see the dialog anyway for 3 frames even if not holding down Shift or Alt.
Perhaps someone knows a trick or workaround to this? I can only think of hiding the dialog for the first few frames so it wouldn’t feel as odd, but you’d still have to keep the Shift/Alt key pressed for sometime longer compared to the original dialog due to Unity having to initialize first.
It’s super-cool that you have created and shared this! Unfortunately, for the use case of VR games, the shift/alt-feature was all I (and quite a few players) ever needed that resolution dialog for.
Thank you for this. It s incredible how Unity removed such a great feature like that ad now we need to find workaround for such a useful feature. Why they just didn’t let us to enable/disable it?
Hey I just wanted to say thanks for building this. Totally agreed that Unity shouldn’t have abruptly removed their original selector without a replacement… but yours is very good!
I also want to thank you for your work. I wanted to provide users with the chance to drop to a lower resolution if their FPS is too low… Bonus it can perform this dynamically at runtime. Used GraphicsSettingsHandler script with my own front end. Saved me a lot of research, trial and error and I learned something. Appreciate it.
Can get it to work right in latest 2022. The screensize dont affect change. Only when restart. qwality setting is on Very Low in the start, even when I sett it to Ultra. Please can you update! Thanks in advance.
Setting it as the first launch scene only pulls up a black screen. Hitting Esc does pull up the popup window but the play and quit buttons aren’t there so I cant launch into the second scene.
I feel very lost as to how this should work when using the launch scene method.
Do not install via Package Manager, download the whole code,
Import and open GraphicSettingsHandler.cs and edit the line 153 :
//var hz = resParts[2].Trim();
var hz = res.refreshRate.ToString();
Worked well with this fix in 2022.3.34, but did not test in the other versions
I won’t make a pull request because ‘refreshRate’ property has been obsoleted
Eventually, this workaround will not be suitable in the later versions