Background
Our team is creating an adventure platformer, and I have been tasked with creating a Save Game system.
Our game features the usual progression systems, and is relatively linear.
Approach
I have began my approach by using the EMS Easy Multi-Save plugin for Unreal.
Problem
We have a 'Switch' system:
- Player takes cube to switch.
- cube gets used by switch
- switch can now be activated.
In stage 2, where the cube is used by the switch - the actor for the cube is destroyed in Unreal, and the switch's model is changed to one with a switch.
The EMS plugin does not provide plug-and-play functionality for keeping track of destroyed actors, which means I must do this myself.
Example problem scenario
- Player approaches area with switch and cube.
- Player saves game (cube present and switch deactivated)
- Player picks up cube and takes to switch (cube destroyed and switch activated)
- Player loads prior save game
- Scene reloads with switch in the correct state, however the cube is no longer present (it has been destroyed by Unreal and is no longer tracked by EMS)
Problem solving approach
Reading around, I have been given the idea of creating my own class that keeps track of destroyed actors when they are destroyed.
This class can be saved by EMS, and then can reload these destroyed actors if needed when a game is loaded.
Question
There is a lack of real advice for the task at hand here, so I wanted to come here and ask for people's advice and opinions on the best approach to making Destroyed Actors within Unreal compatible with Save Games.