Description: Level instance created in UE5.5 and re-saved in UE5.6 crashes on load.
The crash happens when loading an actor containing “Text3DComponent”. “CharacterExtension” (or sometimes “MaterialExtension”) member (subobject) is NULL.
The problematic subobjects are incorrectly saved as “/Engine/Transient” objects. This happens to subobjects of actors that were NOT changed (moved/translated) before the resave:[Image Removed]
Actors that were moved (translated) before the save have a correct value saved:
[Image Removed]
I tracked it down to “Rename” being called on the subobjects that sets the Owner to GetTransientPackage() when loading the level in UE5.6 that was saved in UE5.5. (see the screenshot attached)
[Image Removed]
After the transient owner is stored to disk we get a NULL for this subobject when loading the level.
I know re-saving all the actors using Text3DComponent with the resave commandlet fixes the issue but this is not a good path for us given how widespread the usage of the Text3DComponent is. Is there another way we can fix this behavior?
Required: Text 3D plugin
Repro Steps:
Open attached project in UE5.6.1 (the project and the level has been created with UE5.5)
Open “NewMap” level
Translate “TestActor”. Do not change anything else. Especially do not translate “TestActor2”.