diff --git a/Engine/Source/Developer/LowLevelTestsRunner/Private/TestCommon/CoreUObjectUtilities.cpp b/Engine/Source/Developer/LowLevelTestsRunner/Private/TestCommon/CoreUObjectUtilities.cpp index b8b344c80a71..dac6a373189e 100644 --- a/Engine/Source/Developer/LowLevelTestsRunner/Private/TestCommon/CoreUObjectUtilities.cpp +++ b/Engine/Source/Developer/LowLevelTestsRunner/Private/TestCommon/CoreUObjectUtilities.cpp @@ -12,12 +12,44 @@ #include "UObject/PackageResourceManager.h" #if WITH_ENGINE +#if UE_LLT_USE_PLATFORM_FILE_STUB +#include "UObject/LinkerLoad.h" +#endif // UE_LLT_USE_PLATFORM_FILE_STUB #if UE_LLT_WITH_MOCK_ENGINE_DEFAULTS #include "Materials/Material.h" #endif // UE_LLT_WITH_MOCK_ENGINE_DEFAULTS #include "Styling/UMGCoreStyle.h" #endif //WITH_ENGINE + +#if WITH_ENGINE && UE_LLT_USE_PLATFORM_FILE_STUB +namespace +{ + const TCHAR* const KnownEngineMissingPackages[] = { + TEXT("/Engine/EngineResources/DefaultTexture"), + TEXT("/Engine/EngineResources/DefaultTextureCube"), + TEXT("/Engine/EngineResources/DefaultVolumeTexture"), + TEXT("/Engine/EngineFonts/RobotoDistanceField"), + TEXT("/Engine/EngineMaterials/DefaultTextMaterialOpaque"), + TEXT("/Engine/EngineDamageTypes/DmgTypeBP_Environmental"), + TEXT("/Engine/EngineSky/VolumetricClouds/m_SimpleVolumetricCloud_Inst"), + TEXT("/Engine/EngineMeshes/Sphere"), + TEXT("/Engine/EngineResources/WhiteSquareTexture"), + TEXT("/Engine/EngineResources/GradientTexture0"), + TEXT("/Engine/EngineResources/Black"), + TEXT("/Engine/EngineDebugMaterials/VolumeToRender"), + TEXT("/Engine/EngineDebugMaterials/M_VolumeRenderSphereTracePP"), + TEXT("/Engine/EngineFonts/Roboto"), + TEXT("/Engine/EngineMaterials/Widget3DPassThrough_Translucent"), + TEXT("/Engine/EngineMaterials/Widget3DPassThrough_Translucent_OneSided"), + TEXT("/Engine/EngineMaterials/Widget3DPassThrough_Opaque"), + TEXT("/Engine/EngineMaterials/Widget3DPassThrough_Opaque_OneSided"), + TEXT("/Engine/EngineMaterials/Widget3DPassThrough_Masked"), + TEXT("/Engine/EngineMaterials/Widget3DPassThrough_Masked_OneSided") + }; +} +#endif // WITH_ENGINE && UE_LLT_USE_PLATFORM_FILE_STUB + void InitCoreUObject() { IPackageResourceManager::Initialize(); @@ -46,6 +78,13 @@ void InitCoreUObject() #if UE_LLT_WITH_MOCK_ENGINE_DEFAULTS UMaterial* MockMaterial = NewObject(GetTransientPackage(), UMaterial::StaticClass(), TEXT("MockDefaultMaterial"), RF_Transient | RF_MarkAsRootSet); #endif // UE_LLT_WITH_MOCK_ENGINE_DEFAULTS + + #if UE_LLT_USE_PLATFORM_FILE_STUB + for (const TCHAR* MissingPackage : KnownEngineMissingPackages) + { + FLinkerLoad::AddKnownMissingPackage(FName(MissingPackage)); + } + #endif // UE_LLT_USE_PLATFORM_FILE_STUB #endif // WITH_ENGINE ProcessNewlyLoadedUObjects();