Here are examples that may apply to your game requirements. Feel free to use them in your games
If you want to follow the next tutorials, please download the next link: Project Example 4.16 Unfinished
If you want a project example that has already all the tutorials completed, please download this link: Project Example 4.18
This page will be updated with more examples in 4.19 (Async Save & Load and Cloud saving)
Destroy Runtime Generated Actors On Load
In this example i show you how you can setup the plugin so you only destroy runtime generated
Actors if these weren’t saved.
This is very useful as the plugin doesn’t destroy unsaved
Actors by default (because it could delete your level design work).
You could be developing a game where you spawn
Actors at runtime and you’ll see that if you load your game, those
Actors won’t be deleted. Even if they weren’t saved.
That may not be the behavior you’re expecting so, in the next video, i show you how to solve this possible issue.
Saving a Pickup and a Door State
This is a very simple example but it shows a good use case that could be applied to many games.
By saving and loading the Door state, i show you how this plugin can save and load a
Timeline state. Saving the Pickup is more simple and straightforward.
Saving an AI Character State
An example about saving a simple AI that uses
AI Tasks. In this example, the Load event can even restore the state of dead
Saving the UMG State
In this example i show you how you can save your UMG state. As an example, we’re going to save and restore the state of the
This is done by storing those variables inside an
Actor and using them to update the UI. In this case, the data is being stores in the
In this video, new aux variables are created for solving issues while saving and loading certain
Actors such as the door (
This is not neccesary now as the bug was solved for all versions of the plugin.
Saving in Level Streaming and/or Multiple Levels.
In this example we’re going to save
Actors that will belong to diferent Levels/Sublevels.
If using Level Streaming,
Actors can belong to the persistent level or any of its sublevels.
Actors are saved taking into consideration to which levels they belong.
The same thing happens when you load your game, only
Actors for levels that are active will be loaded.
If using Multiple Levels,
Actors are saved and loaded only for the current active level.
It’s worth to mention that everything is saved in a single file but can be customized to be saved in separated files if needed. Also,
Actors data that belong to inactive levels aren’t erased when saving/loading the game.
If using Level Streaming you may need to save/load only certain levels sometimes. The default functionality of the plugin is to always save/load all the levels that are active.
You can customize this functionality by using the “unfolded versions” of
AutoLoadActorsData() which will allow you to filter which levels to save/load.
For more information, see the Showcase Blueprint that comes in the Example Project.
The new Async
AutoLoadActorsData() functions that comes in the UE4 4.19 will allow to filter which levels will be saved and loaded by level name.
Extend/Convert the CSWAutoSaveGameObject
Here, we’re going to extend the
CSWAutoSaveGameObject in blueprints to customize it and save extra data. This is very useful as we can use this object to save “global data” as
This is also useful for saving Blueprint Structures, we can create BP Structures inside the Save Object and use it to save & load them.
As of now, the component events such as
OnLoadEnd also retrieve the
CSWAutoSaveGameObject reference that was used to save/load the game.