If a standard level (without Actor Folders enabled) is added to a world-partition map (with Actor Folders enabled) as a Level Instance, and then that instance is "broken" so that its actors are incorporated into the main map directly, the resulting actors do not have their Actor Folders setup properly. As a consequence, attempting to move those actors to different folders may end up placing them in the root of the main map, instead of in the expected place.
The licensee in the linked UDN case provided a video showing the misbehavior. He also did an initial investigation into the issue and proposed an explanation and a potential fix to the code. Basically, in AActor::PostEditImport() for an actor that is coming from a actor-folders-off level into an actor-folders-on level, the SetFolderPath() function could be called when (!FolderGuid.IsValid()) instead of only when (GetFolderPath().IsNone()). See the linked UDN case for details.
Also note that there is no misbehavior if the level used as instance is configured to use Actor Folders prior to being "broken" into the world-partition level.
1. Create an empty basic level (which will have Actor Folders off)
2. Add 1 root folder 2 two sibling subfolders under it
3. Add 3 cubes (or any actor) to each of the 2 leaf subfolders
4. Save the level
5. Create a new Open World level (which will have Actor Folders on)
6. Drag & drop the basic level asset into the Open World level viewport
7. Select the level instance actor and break the level instance (right-click – Level – Break)
8. Drag the root folder from the broken level instance into any other folder of the world-partition level
Result:
Notes:
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-205116 in the post.
0 |
Component | UE - World Creation - Worldbuilding Tools - World Partition |
---|---|
Affects Versions | 5.3.2 |
Target Fix | 5.4 |
Created | Jan 29, 2024 |
---|---|
Resolved | Feb 15, 2024 |
Updated | Mar 21, 2024 |