Download

[PLUGIN] Savior 3

@roundpitt When I use a Character BP as a player that is the same class of other Characters, I do a check on BeginPlay.

If “Self” BP == Player Character: Invalidate my SGuid.

So my playable character’s Guid is always 0000-0000-0000.


I think this is done in demo project’s characters as well.

1 Like

I’m kind pretty fresh with UE4 and I’m having trouble figuring out how to set this up with level streaming. Can I still use the Save Game World node to get a broad save of anything flagged in the level? Is there a way I can make this work with sublevels?

Sub-Levels are streamed into the main level.
Their actors are saved as usual.

The plug-in does not stream levels that were present on save, if you have unloaded levels on save load you have to either load them before calling “Load World” or you after loaded a streamed level you can:

New Slot Instance >> Load Level

In that order you can load data for levels separately.

Hey @BrUnO_XaVIeR , thanks for you awesome forum engagement. I do have a question regarding your versioning support. When loading older .SAV files, what hooks do developers have to handle that situation i.e. writing upgrade code so we can take the old save data and populate new version variables.

We can use redirectors to map values of properties that don’t exist anymore to another property of same type, or just redirect in case the property name have changed.


But for latest Unreal Engine releases, there’s a problem in this since they changed UProperty types to FProperty.

I am working to fix it:


In terms of binary file compatibility, the system is built to not crash when you change the binary size of a class so old save files will always be supported even if the sizeOf(class) have changed.

Changing UProperty types to FProperty for the Versioning mechanism is complete and released to Marketplace as a new plug-in update.

So mapping new properties to dead variables in save files is now working as intended.