RunUAT Build Using Different Plugins and Preprocessor Defines

I’d like to setup a CI pipeline with Jenkins. I believe I need to package the game from the command line using RunUAT.bat.

I haven’t been able to figure out a good way to support different platform configurations though. For example, I’d like to generate 2 builds for Windows: 1 for Oculus and 1 for Steam VR.

  • For the oculus build, I’d like to disable the SteamVR plugin.
  • For the SteamVR build, I’d like to enable the SteamVR plugin as well as define a preprocessor macro that will enable SteamVR specific code.

How would I do this? Is this the correct approach if I want to support both Oculus and SteamVR?

I have a partial answer. It looks like I can duplicate the .uproject file and set the enable flag for the plugin there. For example, I’d have a MyProject.Oculus.uproject and a MyProject.SteamVR.uproject and the only difference is that for the Oculus project I disable the SteamVR plugin. Then I can just pass the correct .uproject to RunUAT.bat.

I still don’t know how to pass preprocessor definitions though.