When you have an actor with a Hierarchical Instanced Static Mesh component that has a Static Mesh set and is populated with at least 1 instance and then duplicate it or move it to another level, it will cause a crash.
User who reported this mentioned the following about a possible fix:
"It seems internal ClusterTree not been serialized correctly in the actor copy/paste process. One possible fix is to make sure HierarchicalInstancedStaticMeshComponent::BuildTree() been called after actor with HierarchicalInstancedStaticMeshComponent been pasted in to the level."
Regression?: Yes
This did not occur in 4.12.5-3039270+++UE4+Release-4.12
This does occur in 4.13.2-3172292+++UE4+Release-4.13
First reproduction by duplicating:
Reproduction from moving the asset to another level:
First reproduction's callstack:
UE4Editor_Engine!UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform() hierarchicalinstancedstaticmesh.cpp:2004 UE4Editor_Engine!UInstancedStaticMeshComponent::OnUpdateTransform() instancedstaticmesh.cpp:1549 UE4Editor_Engine!USceneComponent::PropagateTransformUpdate() scenecomponent.cpp:506 UE4Editor_Engine!USceneComponent::UpdateComponentToWorldWithParent() scenecomponent.cpp:434 UE4Editor_Engine!USceneComponent::UpdateComponentToWorld() scenecomponent.h:766 UE4Editor_Engine!USceneComponent::UpdateChildTransforms() scenecomponent.cpp:2002 UE4Editor_Engine!USceneComponent::PropagateTransformUpdate() scenecomponent.cpp:525 UE4Editor_Engine!USceneComponent::UpdateComponentToWorldWithParent() scenecomponent.cpp:434 UE4Editor_Engine!USceneComponent::InternalSetWorldLocationAndRotation() scenecomponent.cpp:2389 UE4Editor_Engine!USceneComponent::MoveComponentImpl() scenecomponent.cpp:2512 UE4Editor_Engine!USceneComponent::SetRelativeLocationAndRotation() scenecomponent.cpp:1006 UE4Editor_Engine!USceneComponent::SetRelativeLocationAndRotation() scenecomponent.cpp:1024 UE4Editor_Engine!USceneComponent::SetWorldLocationAndRotation() scenecomponent.cpp:1242 UE4Editor_Engine!AActor::TeleportTo() actor.cpp:394 UE4Editor_UnrealEd!UUnrealEdEngine::edactPasteSelected() editoractor.cpp:334 UE4Editor_UnrealEd!DuplicateSelectedActors::FDuplicateJob::DuplicateActorsToLevel() editoractor.cpp:412 UE4Editor_UnrealEd!UUnrealEdEngine::edactDuplicateSelected() editoractor.cpp:526 UE4Editor_UnrealEd!UUnrealEdEngine::Exec_Actor() unrealedsrv.cpp:2670 UE4Editor_UnrealEd!UUnrealEdEngine::Exec() unrealedsrv.cpp:681 UE4Editor_UnrealEd!UEditorEngine::Exec() editorserver.cpp:5503 UE4Editor_UnrealEd!UUnrealEdEngine::Exec() unrealedsrv.cpp:624 UE4Editor_LevelEditor!FLevelEditorActionCallbacks::ExecuteExecCommand() leveleditoractions.cpp:1633 UE4Editor_LevelEditor!TBaseStaticDelegateInstance<void __cdecl() delegateinstancesimpl.h:1017 UE4Editor_Slate!FUICommandList::ExecuteAction() uicommandlist.cpp:92 UE4Editor_Slate!SMenuEntryBlock::OnClicked() smenuentryblock.cpp:1027 UE4Editor_Slate!SMenuEntryBlock::OnMenuItemButtonClicked() smenuentryblock.cpp:987 UE4Editor_Slate!TMemberFunctionCaller<SMenuEntryBlock,FReply() delegateinstanceinterface.h:161 UE4Editor_Slate!TTupleImpl<TIntegerSequence<unsigned int> >::ApplyAfter<TMemberFunctionCaller<SMenuEntryBlock,FReply() tuple.h:115 UE4Editor_Slate!TBaseSPMethodDelegateInstance<0,SMenuEntryBlock,0,FReply __cdecl() delegateinstancesimpl.h:317 UE4Editor_Slate!TBaseDelegate<FReply>::Execute() delegatesignatureimpl.inl:521 UE4Editor_Slate!SButton::OnMouseButtonUp() sbutton.cpp:278 UE4Editor_Slate!SMenuEntryButton::OnMouseButtonUp() smenuentryblock.cpp:385 UE4Editor_Slate!<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1>::operator() slateapplication.cpp:4901 UE4Editor_Slate!FEventRouter::Route<FReply,FEventRouter::FToLeafmostPolicy,FPointerEvent,<lambda_8d0e9a1da76abd0a756a3a9d775f5ed1> >() slateapplication.cpp:215 UE4Editor_Slate!FSlateApplication::RoutePointerUpEvent() slateapplication.cpp:4890 UE4Editor_Slate!FSlateApplication::ProcessMouseButtonUpEvent() slateapplication.cpp:5348 UE4Editor_Slate!FSlateApplication::OnMouseUp() slateapplication.cpp:5328 UE4Editor_Core!FWindowsApplication::ProcessDeferredMessage() windowsapplication.cpp:1584 UE4Editor_Core!FWindowsApplication::DeferMessage() windowsapplication.cpp:1930 UE4Editor_Core!FWindowsApplication::ProcessMessage() windowsapplication.cpp:747 UE4Editor_Core!FWindowsApplication::AppWndProc() windowsapplication.cpp:669 user32!<Unknown> user32!<Unknown> UE4Editor_Core!FWindowsPlatformMisc::PumpMessages() windowsplatformmisc.cpp:905 UE4Editor!FEngineLoop::Tick() launchengineloop.cpp:2788 UE4Editor!GuardedMain() launch.cpp:156 UE4Editor!GuardedMainWrapper() launchwindows.cpp:126 UE4Editor!WinMain() launchwindows.cpp:202 UE4Editor!__scrt_common_main_seh() exe_common.inl:264 kernel32!<Unknown> ntdll!<Unknown>
Second reproduction's callstack:
UE4Editor_Engine!UHierarchicalInstancedStaticMeshComponent::UpdateInstanceTransform() hierarchicalinstancedstaticmesh.cpp:2004 UE4Editor_Engine!UInstancedStaticMeshComponent::OnUpdateTransform() instancedstaticmesh.cpp:1549 UE4Editor_Engine!USceneComponent::PropagateTransformUpdate() scenecomponent.cpp:506 UE4Editor_Engine!USceneComponent::UpdateComponentToWorldWithParent() scenecomponent.cpp:434 UE4Editor_Engine!USceneComponent::UpdateComponentToWorld() scenecomponent.h:766 UE4Editor_Engine!USceneComponent::UpdateChildTransforms() scenecomponent.cpp:2002 UE4Editor_Engine!USceneComponent::PropagateTransformUpdate() scenecomponent.cpp:525 UE4Editor_Engine!USceneComponent::UpdateComponentToWorldWithParent() scenecomponent.cpp:434 UE4Editor_Engine!USceneComponent::InternalSetWorldLocationAndRotation() scenecomponent.cpp:2389 UE4Editor_Engine!USceneComponent::MoveComponentImpl() scenecomponent.cpp:2512 UE4Editor_Engine!USceneComponent::SetRelativeLocationAndRotation() scenecomponent.cpp:1006 UE4Editor_Engine!USceneComponent::SetRelativeTransform() scenecomponent.cpp:1132 UE4Editor_Engine!USceneComponent::SetWorldTransform() scenecomponent.cpp:1229 UE4Editor_Engine!AActor::EditorApplyTranslation() actoreditor.cpp:459 UE4Editor_UnrealEd!UEditorEngine::ApplyDeltaToActor() editorengine.cpp:2348 UE4Editor_UnrealEd!FLevelEditorViewportClient::ApplyDeltaToActor() leveleditorviewport.cpp:3551 UE4Editor_UnrealEd!FLevelEditorViewportClient::ApplyDeltaToActors() leveleditorviewport.cpp:3231 UE4Editor_UnrealEd!FLevelEditorViewportClient::InputWidgetDelta() leveleditorviewport.cpp:2316 UE4Editor_UnrealEd!FEditorViewportClient::UpdateMouseDelta() editorviewportclient.cpp:1954 UE4Editor_UnrealEd!FEditorViewportClient::Tick() editorviewportclient.cpp:1077 UE4Editor_UnrealEd!FLevelEditorViewportClient::Tick() leveleditorviewport.cpp:2016 UE4Editor_UnrealEd!UEditorEngine::Tick() editorengine.cpp:1476 UE4Editor_UnrealEd!UUnrealEdEngine::Tick() unrealedengine.cpp:371 UE4Editor!FEngineLoop::Tick() launchengineloop.cpp:2834 UE4Editor!GuardedMain() launch.cpp:156 UE4Editor!GuardedMainWrapper() launchwindows.cpp:126 UE4Editor!WinMain() launchwindows.cpp:202 UE4Editor!__scrt_common_main_seh() exe_common.inl:264 kernel32!<Unknown> ntdll!<Unknown>
Head over to the existing Questions & Answers thread and let us know what's up.
1 |
Component | UE - Graphics Features |
---|---|
Affects Versions | 4.13.2, 4.14, 4.15 |
Target Fix | 4.15 |
Fix Commit | 3227211 |
---|---|
Main Commit | 3231696 |
Created | Nov 14, 2016 |
---|---|
Resolved | Dec 8, 2016 |
Updated | Apr 27, 2018 |