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
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.
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
Why does the REMOVE method of map container remove elements have memory leaks?
How does TextureRenderTarget2D get TArray<uint8> type data?
What is the cause of the packaging error falling back to 'GameUserSettings' in ue5?
How to delete some elements correctly when deleting an array loop?
What is the difference between Camera and CineCamera?
How do I set a material as a post-processing material?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-65669 in the post.
4 |
Component | UE - LD & Modeling - Terrain - Landscape |
---|---|
Affects Versions | 4.21, 4.22, 4.20.3 |
Target Fix | 4.22 |
Created | Oct 23, 2018 |
---|---|
Resolved | Jan 16, 2019 |
Updated | Feb 12, 2019 |