When you start up UE4Editor.exe, you get the project switcher. When you select the project, it re-launches the Editor, passing in the project on the command-line. Example:
UE4Editor.exe "C:/Development/ExampleProject/Example.uproject"
If you pass arguments to UE4Editor.exe, it also passes them along to the new instance:
UE4Editor.exe "C:/Development/ExampleProject/Example.uproject"-first -second
However, it fails to include a space between the path of the project and the first argument. This will then cause any code using FParse::Param(FCommandLine::Get()) to not find the first argument.
An easy way to reproduce this is using -debug as the first argument. This should start the project in DebugGame rather than Development. My current workaround is to have a garbage first argument that gets ignored, as such:
UE4Editor.exe -garbage -debug
Expected behavior: when passing arguments to the newly spawned UE4Editor.exe instance, include a space between the project path and the other arguments.