Binary Compressed Save System, Save Entire Dynamically Generated Worlds! ♥ Rama

Hey Rama,

I just came about the need of versioning the save files. Did you consider that in your work yet? As a file loads the actors directly, every versioning needs to happen inside of the actor class itself.
One versioning thing I just came about is renaming of parameters (member variables). As your save system uses UPROPERTY to save/load the members by name, loading is broken when renaming happens. Would be nice to have something like:

Before loading: Remap the actor class. Like:


 RamaSaveVersioning_RemapClass(FString oldClassName, FString newClassName); 

Would be nice to use string for the new/old class name. Using UClass would need the old class still to exist. FString would make it possible to delete the unused stuff.

During actor load within RamaSave_PreLoad:


 RamaSaveVersioning_RenameProperty(UClass class, FString oldPropertyName, FString newPropertyName);  

Cheers.