UBT confused when switching between configurations

The target DirectSceneEditor with configuration DebugGame produces UE4Editor-#mygame-Mac-DebugGame.dylib.
The target DirectSceneEditor with configuration Development produces UE4Editor-#mygame.dylib.

After I’m building the DebugGame configuration on my Mac, a dialogbox appears and asks me to build UE4Editor-#mygame.dylib, because it is missing.

So the confusion is not only on my side, but also on the UBT, which has problems when switching between configurations.
I’d like to repeat, that we need a kind of intermediate step/ a simple textfile, where the developer can adjust all the things which go wrong with the UBT.

Same problem when just switching configurations:

  • XCode not open.
  • Cleanup by removing the folders “Intermediate” and “Binary”
  • Call the service “Generate XCode project”
  • Start the XCode workspace
  • Keep the scheme #mygame using configuration “Development Editor”
  • Build

->Application launches - fine.

  • Stop application

  • Return to XCode

  • Change the scheme #mygame to use configuration “DebugGame Editor”

  • Build

->Application launches - wrong version.
(I think the latest “Development Editor”)

Hello rotwang,

In your steps, when you say “Application Launches” do you mean that you’re launching it from XCode by debug mode or manually with the .uproject or .exe? If it’s the latter, please keep in mind that only builds in the Development Editor configuration will affect what is launched when launching this way. The same goes with launching the game in debug through XCode, you’ll only see edits made since you last build in the DebugGame Editor configuration.

Matthew, I use the standard ‘build and run’ from XCode and would expect (see the last example), that this will launch the app it just had built with the current config.

Hello rotwang,

After speaking with some of our Mac developers, it seems that this is an issue with XCode schemes not automatically being able to run different command line arguments on a scheme-by-scheme basis. This means that XCode isn’t able to mimic the usual behavior of Visual Studio. In our Visual Studio setup, we have the DebugGame Editor configuration automatically run the -debug commandline. For XCode, you’ll need to add that manually in the “Arguments passed on Launch” when compiling for DebugGame Editor.

There are plans to fix this, but this would be the best way to do this in the meantime.

Matthew, thanks for the insight.
but I’m wondering why it’s not possible to just generate different “Run” schemes for Development and DebugGame. Hope the XCode setup could be fixed, because I have to manually reconfigure the scheme each time, I call the build service and that’s a dozen times a day.