In 2019.3b07 the resolution dialog setting is gone. What is the replacement setting?
You can set defaults in player settings or use the new command line options Unity - Manual: Command line arguments to override these at startup.
Thanks, I’ll try the command line options. It’s tough without a dialog when you want to find out which resolutions you can use so that DXR still performs
Have you considered adding a script to your startup scene that calls Screen.resolutions and selects one using Screen.SetResolution?
No, not at all. Because it should be the user’s choice to select something from a proper dialog and not have to mess around with scripts
But I see your point. Everyone should make their own resolution dialog in-game.
Does Unity provide an example for that?
Ah, I misunderstood your use case. The right way to solve this is default to screen native resolution and then have a settings menu where you expose Screen.resolutions as a graphics setting.
When we were considering removing Screen Selector dialog, we asked hundreds of customers on whether they used it and if they didn’t, why not. Vast majority didn’t use it because it was ugly, looked unprofessional and caused image problems for them. The only valid use cases we found were when people used it during prototyping and testing and command line parameters fully accommodate that.
Yeah, that’s my use case. Testing and prototyping. Currently finding out which resolutions perform eg for HDRP and DXR. I guess I’ll have to create my own external app for that now.
It would be really nice if Unity Learn could provide an example settings in-game menu.
This makes no sense. You removed an OPTIONAL feature because most but not all people didn’t use it? What about the people that did use it for things like game jams? This just seems like an unjustified punishment to users of a feature that most people opted out of. I either have to code in-game options UI or rollback to an older version of Unity, neither of which seem like a great options for a 48 hour jam. Decisions like this are driving me to start looking at other engines after so many years with Unity.
I’d like to see that too…
Well, support cost for this thing wasn’t insignificant. At the point of removal, it had quite a bit of serious issues and half of it was broken (input bindings menu made no sense for the new input system). Given low amount of customers that used it, we couldn’t warrant continued investment into it at the expense of other priorities.
Ok Unity, you really messed things up. Players often want to play the game on their 2nd monitor, so could you at least put the option back so players can choose the monitor to play on?!
So Unity, can you provide an example please.
What about Unity - Scripting API: Camera.targetDisplay?
How will be multi monitor setup with this, to let player select another screen?
I hope there will be a good option for that…
It’s bad activating the other monitor after the game launches since the first one gets locked too (at least in older versions).
My problem with the removal of this is, sure, few developers used it in the final builds of their games that they shipped. But now ask how many developers used that menu during development? I think you’ll find 99% of them did.
The lack of the menu option means we have to manually build our own menu while still in the early stages of development. Or in my specific situation, we are using Unity to make internal applications where we just need something simple and solid that we know works, and now we have to spend resources and money making our own menu, to replace a good one Unity already had (and as you said, “support cost for this thing wasn’t insignificant.” - now that cost falls on all us users). And in our case, being able to choose the primary display from the start is important, and I don’t want to make non-developers use commandline parameters.
It sounds like you had problems with the input system, just remove that section and leave the rest.
My suggestion… (I do rely a lot on that due to use of multi monitor setup)
At least please provide an open source launcher with the same functionalities: selecting the monitor screen, windowed mode and resolution in a list! That would be great. Turn open source that multiplatform launcher as a separate file and depreciate/remove it, keeping the command line params sent to the executable. So it will be a win-win situation.
I agree completely with @Dreamback . Unity will save the effort to maintain it, but now all developers have to do the work themselves.
We use the resolution dialog in almost all unreleased projects. I find it very useful for prototyping. Of course, in a commercial release it’s less “professional” to have it enabled, but that doesn’t mean there’s no use for it in another context. A command line option will not replace it. I regularly send standalone builds (prototypes) to people who don’t know how to use a command line parameter.
Why not just clean it up a bit, remove the input tab, and disable the resolution dialog by default, so devs only use it when needed?
The last time I looked into it was for Unity 2018.3, I believe. I wanted to implement a “Select target Monitor” option in my in-game options menu. At this time, it wasn’t supported by Unity.
If the resolution dialog is being removed, it would be helpful if you can provide an API that allows us to replicate it an in-game options menu what the resolution dialog was supposed to do. I believe the only thing that is missing is an API to select the target monitor.
I am all for getting rid of this dialog and putting it in-game, but you are still not exposing the needed multi-platform APIs at runtime! I am not sure how you expect devs to utilize command line args on a shipped title. Are you expecting the devs to write a custom launcher app for all three platforms (Windows/Mac/Linux)? No one wants to spend dev time writing a launcher app instead of working on a game.
We need runtime access to the command-line args at runtime inside the player that we currently don’t have. This includes:
- Display index (with appropriate APIs to query display names/IDs)
- Fullscreen/Window modes (windowed, popup, borderless, exclusive)
- PlayerPref serialization of these fields so we can serialize them properly for the next player launch. Having the window jump around on the first script is awful UX.
It has been years since I have looked at the standalone experience and these features are still not available. I am very disappointed. I am not sure why Unity treats their standalone player like dirt with it being a major platform. Look at DOTA2, Battlefield, or any Blizzard title to see examples of display settings that our users expect. Please expose them at runtime for us like a multi-platform engine should!