Unreal-Savior.github.io

Savior

Savior Plugin Documentation

Product Page Community Contact FAQ
       

Savior is a C++ tool designed to extend Unreal’s save system, providing a more powerful serialization framework for complex Unreal projects. Savior is a custom serialization system built from scratch with efficiency in mind, together with a focus in productivity and ease-of-use in Unreal. This documentation summarizes most common doubts of new users, most common mistakes, and the best solutions to achieve developer’s goals.

Features

Productivity
Savior eliminates micro-management of individual properties, becoming a valuable time saver for small teams.
Marking a property with Unreal’s ‘Save Game’ exposes property to the save system, no mirror property required.
A rich library of helper functions brings free customization of the save process within blueprints, no coding.
Deleting or adding new blueprint properties will not corrupt existing save files; Contrary to other save systems.
Built-in versioning system helps patching live games, without causing players to lose existing progress.
Performance
Savior abuses Unreal’s multi-threading capabilities. Saving data is absurdly fast, only limited by target hardware.
Blueprint properties are read directly from target, mirror property in slots not required, increasing performance.
Actor’s location, rotation, scale, velocity, mesh, materials; Are all recorded from multi-threaded algorithms.
Utility
Savior is based on slots to persist data.
A full HUD system ships with the plugin, making easy to implement loading screens, slot selection screens.
Data loading progress is automatically calculated, generating feedback progress bars without developer efforts.

Quick Guides

Advanced Guides

Savior API

Asynchronous Methods:

Slot Methods:

Serializable Interface:

Procedural Interface:

HUD Class:

FAQs

How, why my Actor isn’t saving?

Chances are you did not setup a SGUID Property properly.

Save World or Game Mode returns Failed result, why?

Check thread state with Get Thread Safety node. If you have another save process running, you have to wait until previous process is complete to start a new one.

I still can’t save anything?!

Make sure you are creating an instance with New Slot Instance node. Don’t try to save data directly into your Slot Class.