Conflict Resolution

This is an synchronous function which allows you to define the method to be used during manual conflict resolution.

The only parameter is a function defining how to manually resolve conflicts encountered when making use of the Saving a Game and Loading a Game blueprint nodes. The function provided will be used when RESOLUTION_POLICY_MANUAL is selected as a Conflict Resolution Policy. This function only needs to be called once at game startup before saving and loading any games.

If this blueprint node is not used and RESOLUTION_POLICY_MANUAL is selected, RESOLUTION_POLICY_MOST_RECENTLY_MODIFIED will be used instead.

1

Manual Conflict Resolution Stategy

This is a delegate has two Snapshot parameters as inputs and requires one Snapshot to be returned. The input parameters provided are the cloud version and local version of the snapshot. The output parameter is the final version to be used to resolve the conflict and load/save.

Note:
When dragging off this pin to create a function, you need to use the Event Dispatchers dropdown and then select the Create Event option. Once this option is selected, it will create a blueprint node to create an event, you can then use its dropdown to [Create a matching function] with the matching function signature.

Example

Creating a new Snapshot

In the event that you want to combine both Snapshot parameters you can break each struct and create a new one with the desired values.
To create an entirely new snapshot, you can create two local variables within your function of type Snapshot and SnapshotMetadata.

In the below example, we are combining the PlayedTime and ProgressValue values within the SnapshotMetadata and choosing the Local Save Game Object.
You can simply reuse this pattern with any values the Snapshot structure provides.