Description

Placing a FunctionalTest Blueprint into a level that contains a landscape component and a sub-level that also contains a landscape component results in a crash when PIE is started. This only occurs in 4.20+ if the project is being upgraded from 4.19 or earlier. The crash does not occur if the project is created in 4.20, or if the FunctionalTest Blueprint is not present in the level. The crash also does not occur when upgrading a project from 4.18 to 4.19.

This appears to be due to the LandscapeComponent not having a MobileCombinationMaterialInstance set. The Editor attempts to create this, which ends up resulting in an assert.

REGRESSION:
Yes

Steps to Reproduce
  1. Download the attached project (created in 4.19.2).
  2. Associate the project with any Engine version 4.20 or higher.
  3. Build the project in Visual Studio.
  4. Open the project in the Editor.
  5. Start PIE.

RESULT:
The Editor crashes with the error Cannot call UnrealScript (BP_SampleTest_C /Game/VehicleAdvCPP/Maps/UEDPIE_0_VehicleAdvExampleMap.VehicleAdvExampleMap:PersistentLevel.BP_SampleTest_2 - Function /Script/FunctionalTesting.FunctionalTest:DebugGatherRelevantActors) while PostLoading objects

EXPECTED:
The Editor starts PIE successfully.

Callstack
Assertion failed: !FUObjectThreadContext::Get().IsRoutingPostLoad [File:D:\Main-Builds\Stream\Engine\Source\Runtime\CoreUObject\Private\UObject\ScriptCore.cpp] [Line: 1316] Cannot call UnrealScript (BP_SampleTest_C /Game/VehicleAdvCPP/Maps/UEDPIE_0_VehicleAdvExampleMap.VehicleAdvExampleMap:PersistentLevel.BP_SampleTest_2 - Function /Script/FunctionalTesting.FunctionalTest:DebugGatherRelevantActors) while PostLoading objects

UE4Editor_Core!FDebug::AssertFailed() [d:\main-builds\stream\engine\source\runtime\core\private\misc\assertionmacros.cpp:422]
UE4Editor_CoreUObject!UObject::ProcessEvent() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1316]
UE4Editor_Engine!AActor::ProcessEvent() [d:\main-builds\stream\engine\source\runtime\engine\private\actor.cpp:713]
UE4Editor_FunctionalTesting!AFunctionalTest::DebugGatherRelevantActors() [d:\main-builds\stream\engine\intermediate\build\win64\ue4editor\inc\functionaltesting\functionaltest.gen.cpp:908]
UE4Editor_FunctionalTesting!AFunctionalTest::GatherRelevantActors() [d:\main-builds\stream\engine\source\developer\functionaltesting\private\functionaltest.cpp:448]
UE4Editor_FunctionalTesting!UFuncTestRenderingComponent::CalcBounds() [d:\main-builds\stream\engine\source\developer\functionaltesting\private\functestrenderingcomponent.cpp:111]
UE4Editor_Engine!USceneComponent::UpdateBounds() [d:\main-builds\stream\engine\source\runtime\engine\private\components\scenecomponent.cpp:1183]
UE4Editor_Engine!UPrimitiveComponent::UpdateBounds() [d:\main-builds\stream\engine\source\runtime\engine\private\components\primitivecomponent.cpp:3107]
UE4Editor_Engine!UPrimitiveComponent::CreateRenderState_Concurrent() [d:\main-builds\stream\engine\source\runtime\engine\private\components\primitivecomponent.cpp:513]
UE4Editor_Engine!TIndirectArray<FComponentRecreateRenderStateContext,FDefaultAllocator>::Empty() [d:\main-builds\stream\engine\source\runtime\core\public\containers\indirectarray.h:337]
UE4Editor_Engine!FGlobalComponentRecreateRenderStateContext::~FGlobalComponentRecreateRenderStateContext() [d:\main-builds\stream\engine\source\runtime\engine\private\components\actorcomponent.cpp:139]
UE4Editor_Engine!FMaterialUpdateContext::~FMaterialUpdateContext() [d:\main-builds\stream\engine\source\runtime\engine\private\materials\materialshared.cpp:2696]
UE4Editor_Engine!UMaterialInstance::UpdateStaticPermutation() [d:\main-builds\stream\engine\source\runtime\engine\private\materials\materialinstance.cpp:3539]
UE4Editor_Landscape!ULandscapeComponent::GetCombinationMaterial() [d:\main-builds\stream\engine\source\runtime\landscape\private\landscapeedit.cpp:272]
UE4Editor_Landscape!ULandscapeComponent::UpdateMaterialInstances_Internal() [d:\main-builds\stream\engine\source\runtime\landscape\private\landscapeedit.cpp:329]
UE4Editor_Landscape!ULandscapeComponent::UpdateMaterialInstances() [d:\main-builds\stream\engine\source\runtime\landscape\private\landscapeedit.cpp:427]
UE4Editor_Landscape!ULandscapeComponent::PostLoad() [d:\main-builds\stream\engine\source\runtime\landscape\private\landscape.cpp:762]
UE4Editor_CoreUObject!UObject::ConditionalPostLoad() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\obj.cpp:1031]
UE4Editor_CoreUObject!FAsyncPackage::PostLoadObjects() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:6512]
UE4Editor_CoreUObject!FAsyncPackage::TickAsyncPackage() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:5728]
UE4Editor_CoreUObject!FAsyncLoadingThread::ProcessAsyncLoading() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4598]
UE4Editor_CoreUObject!FAsyncLoadingThread::TickAsyncThread() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:5157]
UE4Editor_CoreUObject!FAsyncLoadingThread::TickAsyncLoading() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:4863]
UE4Editor_CoreUObject!ProcessAsyncLoading() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\serialization\asyncloading.cpp:7190]
UE4Editor_CoreUObject!StaticTick() [d:\main-builds\stream\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:525]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\main-builds\stream\engine\source\editor\unrealed\private\editorengine.cpp:1371]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\main-builds\stream\engine\source\editor\unrealed\private\unrealedengine.cpp:403]
UE4Editor!FEngineLoop::Tick() [d:\main-builds\stream\engine\source\runtime\launch\private\launchengineloop.cpp:3694]
UE4Editor!GuardedMain() [d:\main-builds\stream\engine\source\runtime\launch\private\launch.cpp:174]
UE4Editor!GuardedMainWrapper() [d:\main-builds\stream\engine\source\runtime\launch\private\windows\launchwindows.cpp:145]
UE4Editor!WinMain() [d:\main-builds\stream\engine\source\runtime\launch\private\windows\launchwindows.cpp:276]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
kernel32
ntdll

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-65669 in the post.

4
Login to Vote

Fixed
ComponentTools - Landscape
Affects Versions4.214.224.20.3
Target Fix4.22
Fix Commit4732979
Main Commit4837001
Release Commit4862694
CreatedOct 23, 2018
ResolvedJan 16, 2019
UpdatedFeb 12, 2019