Easy Save Support

Table of Contents

This page describes how to set up the Dialogue System with Moodkie's Easy Save.

EasySave copyright © Moodkie.


Setup

There are a few different ways to integrate Easy Save and the Dialogue System. The steps below describe an easy and robust way to set it up:

  1. Import Easy Save Support from the Third Party Support folder. (In version 2.2.1 and earlier, this package is available on the Dialogue System Extras page: https://www.pixelcrushers.com/dialogue-system-extras/)
  2. Add ESSavedGameDataStorer to your Dialogue System save system in place of any existing storers such as PlayerPrefsSavedGameDataStorer or DiskSavedGameDataStorer.

With this setup, the Dialogue System will manage the saving and restoring of systems – for example, setting the enabled state of components using EnabledSaver, setting character positions using PositionSaver, etc. – and it will use Easy Save to actually store its data.

If you don't want the Dialogue System's save system to save and load the current scene, untick the SaveSystem component's Save Current Scene checkbox.

Alternate Setup

Alternatively, if you want to manage the overall save process independently of the Dialogue System's save system, you can tell the save system to record and apply saver states without saving it.

Saving: To record the state of savers into a string that you can then save using Easy Save:

...
This is the main Save System class.
Definition SaveSystem.cs:17
static SavedGameData RecordSavedGameData()
Records the current scene's savers' data into the SaveSystem's internal saved game data cache.
Definition SaveSystem.cs:858
static string Serialize(object data)
Returns a serialized version of an object using whatever serializer is assigned to the SaveSystem (JS...
Definition SaveSystem.cs:1155
Definition MessageEventsEditor.cs:7

Loading: To apply the string back into the save system's savers:

...
static void ApplySavedGameData(SavedGameData savedGameData)
Applies the saved game data to the savers in the current scene.
Definition SaveSystem.cs:896
Holds the data for a saved game.
Definition SavedGameData.cs:16

<< Third Party Integration