From Licensee:
You can reproduce this in stock by doing the following:
The issue appears to stem from how unsaved actors are put into the PIE world and how folders are fixed up for sublevels setup for PIE in WP when loading actors.
Normally actor folders are fixed up in the FWorldPartitionLevelHelper::LoadActors function, specifically from the SrcActorFolderPath optional variable and the code surrounding it. Unsaved actors however (seemingly, I haven't fully debugged the code) get added to the world differently and do not run this code- they instead retain the FolderGuid from the editor world (/and it's not fixed up anywhere to use a path) and then it causes a warning and is cleared by the code in AActor::FixupActorFolder (executed from this chain of function calls: UWorldPartitionLevelStreamingDynamic::FinalizeRuntimeLevel -> ULevelStreaming::SetLoadedLevel -> ULevel::OnLevelLoaded -> ULevel::FixupActorFolders -> AActor::FixupActorFolder).
We originally thought this was just a logging bug and tested fixing it by setting bFixupActorFoldersAtLoad to false on the RuntimeLevel in UWorldPartitionLevelStreamingDynamic::FinalizeRuntimeLevel for PIE worlds (as those generated levels aren't using actor folders). However as we have dug into this we have realized that that actual problem is dirty actors not getting their actor folders fixed up in the same way as normally loaded actors do in the FWorldPartitionLevelHelper::LoadActors function so setting bFixupActorFoldersAtLoad to false on PIE RuntimeLevels is probably bad. A proper fix for this would be appreciated.
You can reproduce this in stock by doing the following:
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-180695 in the post.
1 |
Component | UE - World Creation - Worldbuilding Tools - World Partition |
---|---|
Target Fix | 5.3 |
Created | Mar 20, 2023 |
---|---|
Resolved | Mar 27, 2023 |
Updated | Aug 24, 2023 |