In levels where "WorldPartitionRuntimeHashSet" is specified as the runtime hash class, the world partition may not be correctly visible only in the package. This issue is reproduced only in packaged games and does not repro in the editor.
This procedure involves preloading the WP level to be transitioned by AsyncLoadAsset. The preload level is then kept in the game instance, and the preloaded level is opened with OpenLevel as an exception to GC. Then, the persistent level opens fine, but the streamign level is not loaded at all and does not become visible.
It seems that the problem is that the following process of UWorldPartitionRuntimeHashSet::PostLoad is not executed,
FWorldDelegates::OnPreWorldInitialization, the level opens as expected.
if (GetTypedOuter<UWorld>()->IsGameWorld()) { ForEachStreamingData([](const FRuntimePartitionStreamingData& StreamingData) { StreamingData.CreatePartitionsSpatialIndex(); return true; }); }
Result:
Streaming level is not visible on the map after transition
Expected:
Streaming level becomes visible on the map after the transition
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-221009 in the post.
0 |
Component | UE - World Creation - Worldbuilding Tools - World Partition |
---|---|
Affects Versions | 5.4 |
Target Fix | 5.5 |
Fix Commit | 31943210 |
---|
Created | Aug 5, 2024 |
---|---|
Resolved | Aug 13, 2024 |
Updated | Aug 22, 2024 |