Hello,
We’ve run into an issue with cell transformers and packed level actors. Any non packed level actor we modify in our cell transformer has the correct state after a packaged game, but packed level actors do not update in a packaged build, and just revert back to their original state after packaging.
If we run the cell transformers in editor it works just fine, but when packaged, the original packed level actors are not modified and remain in their original state.
Our transformer is similar to the ISM transformer in the sense that it also creates a new actor based on the actors and their components in the level, then deletes the original actor if it has no components left.
Some actors get transformed fully (all components), some only partially (some components, depends on the components on the actors).
Similar to UWorldPartitionRuntimeCellTransformerISM::CanRemoveActor, we remove the actor if it only has a scene component left. However, we had to, in addition to checked for the root USceneComponent, check for the root ULevelInstanceComponent.
Once we add this additional check, actors that were fully transformed and only have a ULevelInstanceComponent left are properly deleted in a packaged build. However, actors which were only transformed partially, and thus can’t be deleted, will revert back to their original state in a packaged build as if we didn’t transform them at all.
It seems that packed level actors aren’t really compatible with cell transformers as they’re level instances under the hood, and seem to load differently in builds.
Is this a known issue, and if so is there a known way to fix this issue? Or is this a known limitation for cell transformers?
Kind regards,
Celeste