I recently got in the process of creating a customised launcher for my project.
Unfortunately however, the only way to change key-bindings is via the resolution dialogue.
I find it somewhat ugly, so i keep it Hidden by Default, which makes it only appear when a user is shift-clicking it (I want to make the player see it only when they absolutely need to change the controls). I was wondering whether there was a way to use ShellExecute or something similar to launch the executable while also making it behave as if i shift-clicked it, which would make it launch with the resolution dialogue, or perhaps there is a command line parameter for it.
This is the code i am currently using to run the executable.
ShellExecute(NULL ,"open","My Project.exe","","", SW_SHOW );
No, the only way to bring up the window if it’s hidden by default is to either hold down shift, control or alt key.
However, the setting you make is serialized into mainData so unless your mainData is very large, you could have one mainData with the settings enabled and one hidden as default, and swap between the files depending on which mode you want to run as.
Perhaps you can have two versions of mainData:
And copy/replace the one you want to use with the original mainData.
This is an old question, but I found it googling for this. Not sure what version of Unity added this, but you can use the -show-screen-selector argument, and you can find all the available arguments documented here: Unity - Manual: Command line arguments
(scroll down to Unity Standalone Player command line arguments)