Hi everyone, I posted over in the ‘Engine Source & GitHub’ forums where I thought this had more of a chance of being solved, but as it has no reply I thought I’d try here as well:
We’re trying to make a command line tool that uses the UE4 engine to manipulate certain aspects of uassets / umaps. We’ve gotten as far as being able to compile the BlankProgram project that comes with the github source, however we require the engine to be linked to use the following code without runtime serialization errors (because certain things are not compiled with WITH_EDITOR):
#include "BlankProgram.h"
#include "RequiredProgramMainCPPInclude.h"
DEFINE_LOG_CATEGORY_STATIC(LogBlankProgram, Log, All);
IMPLEMENT_APPLICATION(BlankProgram, "BlankProgram");
INT32_MAIN_INT32_ARGC_TCHAR_ARGV()
{
GEngineLoop.PreInit(ArgC, ArgV);
UPackage* levelPackage = Cast<UPackage>(LoadPackage(NULL, TEXT("AssetName"), 0));
return 0;
}
We’ve been playing around with the following in BlankProgram.Target.cs
UEBuildConfiguration.bBuildEditor = false;
UEBuildConfiguration.bCompileAgainstEngine = true;
UEBuildConfiguration.bCompileAgainstCoreUObject = true;
OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true;
OutLinkEnvironmentConfiguration.bHasExports = false;
…and adding what we think we need in BlankProgram.Build.cs, but sadly to no avail. Can anyone provide the exact code we need in BlankProgram.Build.cs and BlankProgram.Target.cs to compile and run successfully?
Thanks in advance!