It looks like the project area mirrors the FProjectDescriptor
class found in …\Engine\Source\Runtime\Projects\Public\ProjectDescriptor.h and the module section mirrors FModuleDescriptor
found in C:\EpicGames\UE_4.26\Engine\Source\Runtime\Projects\Public\ModuleDescriptor.h
Documentation? Not so much. There are a couple interesting tidbits floating around in there however… Black and white lists for platforms, targets, target configs, and programs… a full list of all the type
enumeration values:
// Loads on all targets, except programs.
Runtime,
// Loads on all targets, except programs and the editor running commandlets.
RuntimeNoCommandlet,
// Loads on all targets, including supported programs.
RuntimeAndProgram,
// Loads only in cooked games.
CookedOnly,
// Only loads in uncooked games.
UncookedOnly,
// Deprecated due to ambiguities. Only loads in editor and program targets, but loads in any editor mode (eg. -game, -server).
// Use UncookedOnly for the same behavior (eg. for editor blueprint nodes needed in uncooked games), or DeveloperTool for modules
// that can also be loaded in cooked games but should not be shipped (eg. debugging utilities).
Developer,
// Loads on any targets where bBuildDeveloperTools is enabled.
DeveloperTool,
// Loads only when the editor is starting up.
Editor,
// Loads only when the editor is starting up, but not in commandlet mode.
EditorNoCommandlet,
// Loads only on editor and program targets
EditorAndProgram,
// Only loads on program targets.
Program,
// Loads on all targets except dedicated clients.
ServerOnly,
// Loads on all targets except dedicated servers.
ClientOnly,
// Loads in editor and client but not in commandlets.
ClientOnlyNoCommandlet,
//~ NOTE: If you add a new value, make sure to update the ToString() method below!
max
So the code knows all, but you have to do a little digging.
Sadly, this didn’t help with the problem I was trying to fix, namely how to get boost (:: in particular) to work with UE4. Yes, UE4 does have its own classes, but I wanted to use the same code on both sides of my system… and I’m not sure that’s going to be an option. Makes me sad.