It is hard to reproduce the crash, but there is a scenario to cause it.
For example, there are two streaming levels in StreamingLevelsBeingConsidered list.
The first one's CurrentState is ECurrentState::MakingVisible, and it will try to World->AddToWorld. Because the bConsiderTimeLimit, the level may not finish the process of UWorld::AddToWorld, so the CurrentLevelPendingVisibility will not be nullptr.
Then, the second level's CurrentState is ECurrentState::LoadedNotVisible, and TargetState is ETargetState::Unloaded, so it will try to DiscardPendingUnloadLevel and call UWorld::RemoveFromWorld, but because the CurrentLevelPendingVisibility is not nullptr, it will fail to remove from world, and it will cause a crash when calling ClearLoadedLevel at check(PendingUnloadLevel == nullptr);
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-73118 in the post.
4 |
Component | UE - World Creation - Worldbuilding Tools - World Composition |
---|---|
Affects Versions | 4.21.2 |
Target Fix | 5.5 |
Created | Apr 21, 2019 |
---|---|
Updated | Feb 12, 2024 |