How to get 2 executables from 1 uproject

I have a project organized as such:


  • Source/

    • MyCore/

      • MyCore.Build.cs

    • MyGame/

      • MyGame.Build.cs

    • MyTests/

      • MyTests.Build.cs

    • MyProject.Target.cs

    • MyProjectEditor.Target.cs

  • MyProject.uproject

I want to get a TargetType.Game executable from MyGame (w/ MyCore). I also want to get a TargetType.Program from MyTests (w/ MyCore).

It seems that what I need is a MyTests.Target.cs file under the Source directory (since UBT will not recursively check any deeper directories once it finds the first *.Target.cs file). However there seems to be some kind of dependancy on *.Target.cs files and *.uproject files so it would appear I also need another file called MyTests.uproject in the root directory.

At this point it feels like I am just misunderstanding some fundamental part of UBT. Any advice would be appreciated.

Apologies for the bump, but did you find a solution to this? I’m interested in making basically the same exact setup, just instead of tests I want to make a Slate-based tool to go alongside the game…