Hi Martin,
Thanks for reaching out. I tried integrating the change and it does seem to fix the crash but similar to the local fix I’d tried, it results in still hitting that assert in WorldPartition::BeingDestroy(). It seems like there’s an underlying issue here at a higher level than just UActorDescContainerInstance.
Here’s the call stack for that assert if that can help:
> UnrealEditor-Engine.dll!UWorldPartition::BeginDestroy() Line 1564 C++ UnrealEditor-CoreUObject.dll!UObject::ConditionalBeginDestroy() Line 1214 C++ UnrealEditor-CoreUObject.dll!UnhashUnreachableObjects(bool bUseTimeLimit, double TimeLimit) Line 5949 C++ UnrealEditor-CoreUObject.dll!UE::GC::PostCollectGarbageImpl<1>(EObjectFlags KeepFlags) Line 5575 C++ UnrealEditor-CoreUObject.dll!UE::GC::FReachabilityAnalysisState::PerformReachabilityAnalysisAndConditionallyPurgeGarbage(bool bReachabilityUsingTimeLimit) Line 5771 C++ [Inline Frame] UnrealEditor-CoreUObject.dll!UE::GC::CollectGarbageInternal(EObjectFlags) Line 5342 C++ UnrealEditor-CoreUObject.dll!CollectGarbage(EObjectFlags KeepFlags, bool bPerformFullPurge) Line 6007 C++ UnrealEditor-Engine.dll!FSeamlessTravelHandler::Tick() Line 7982 C++ UnrealEditor-Engine.dll!UEngine::TickWorldTravel(FWorldContext & Context, float DeltaSeconds) Line 14816 C++ UnrealEditor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1989 C++ UnrealEditor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 550 C++ UnrealEditor.exe!FEngineLoop::Tick() Line 5921 C++ [Inline Frame] UnrealEditor.exe!EngineTick() Line 61 C++ UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 180 C++ UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 247 C++ UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 298 C++ [External Code]