Prefabs and in-world entity objects that are instanced or copied use and share Verse functionality through the Verse component.
As you add more functionality to objects that use or rely on Verse components, you might modify the underlying functionality of your entity objects. Recovering your data provides a way for you to reverse new modifications by falling back on your old data set.
The data recovery system transfers data for:
Fields
Classes
Structs
Serialization Issues
Without recovering your data, any changes made to an established Verse component would cause serialization flaws in one of the following situations:
Renaming properties
Deleting properties
Changing the type of a properties
The example case presented in this document uses an editable struct to express values for a float, string, and int. Changing the name of the editable struct property creates a loose property that also uses the established data from the float, string, and int.
Data recovery is used to find loose properties and places an attention icon on the problematic object.
Each version of the editable object retains its data values for the float, string, and int. This provides a way to select which data to keep.
Identified Issues
Entities and components that have serialization issues are identified in the Outliner with an Attention icon. Hovering on the icon opens a serialization message that informs you of the type of serialization issue this object is experiencing.
The warning message in this image is not representational of the issue flagged by the current system.
Selecting the entity object in the Outliner opens the entity components in the Details panel.
Warnings also appear in the Details panel for entities and components. Components with serialization issues have a yellow Attention icon on the top of the component card.
You will need to open prefabs that use components in the Details panel to see which affected components are flagged with a system warning.
Data Recovery
Data recovery is possible if a mistake was made, or a change is unnecessary by reverting the changes you made. You can safely re-add the previously removed property to recover lost data associated with the previous property.
However, if you delete a class or change a class name you must revert the code to recover your data. Reverting a class will reload the code and clear any issues that were flagged.
Renaming or deleting a class causes destructive behavior.
Recover any data you do not wish to overwrite by following the steps below:
Do not save your changes if you have renamed or deleted a class, or if you have compilation errors.
Saving your code at this time will result in permanent data loss.
Add your lost properties back to the original class.
You can ignore this step and continue to step three if you decide to keep the changes you made.
Reload UEFN or recompile your code.
Carefully look over your data. Once you're confident you have the property values you'd lost, you can safely save.
If you decide to skip step 2, the warning will persist for now. If the persistent error messages are bothersome, you can disable the data recovery system.
Returning to your original property names and data no longer results in error messages, and you can continue working on your level.