Questions about saving again
Posted: Tue Aug 29, 2023 3:05 pm
Hey Tony. I'm setting up loading and saving in my new game and have a few questions. The save system is mostly working as intended, there are just some things I'd like to polish up, but I'm not sure exactly how.
1. Auto vs manual saving. I've set up 3 save slots for the game. You can currently manually save and load any of them. But there are times where it would be good to have something more like an autosave/load. For example, a continue button on the main menu that loads the last played save. Or a quicksave in the in-game menu that automatically saves to your current slot, rather than making you enter the save slots menu and choose one.
I set up the manual save using SaveSystemMethods.SaveSlot, but this wouldn't work for an autosave, since it requires you to choose a slot to save to. Is there anything like a "save to current slot" equivalent?
2. Is there some way to differentiate between an empty slot and an occupied one? I'd like them to behave slightly differently in some situations. For example, when the player chooses a slot for a new game. If it's empty, a new game should begin immediately, but if it's occupied by a previous save, you might want a warning popup - "This will overwrite..." etc.
Similarly, it would be nice to include some variable information in the save slots depending on whether or not they are empty. If the save slot is occupied, the text might read [var=CharacterName], [var=CurrentLocation], [var=Date], to show your name, location and date, but if it's empty, the text would just read "Empty Slot 1".
Is there an inbuilt way to do something like this, or would it involve some custom scripting?
3. I know this is going to be something really obvious, but how exactly do you make sure that game objects in the scene are getting saved as well as the dialogue data? Just to test this out, I added an Active Saver to a game object, set it to active during a conversation, and set Record Persistent Data On to All Game Objects, but on reloading the game, the game object has returned to its inactive state.
Sorry that's a lot of questions in one go...I'm just trying to get this save system working as well as possible so I never have to look at it again lol. Thanks for your help.
1. Auto vs manual saving. I've set up 3 save slots for the game. You can currently manually save and load any of them. But there are times where it would be good to have something more like an autosave/load. For example, a continue button on the main menu that loads the last played save. Or a quicksave in the in-game menu that automatically saves to your current slot, rather than making you enter the save slots menu and choose one.
I set up the manual save using SaveSystemMethods.SaveSlot, but this wouldn't work for an autosave, since it requires you to choose a slot to save to. Is there anything like a "save to current slot" equivalent?
2. Is there some way to differentiate between an empty slot and an occupied one? I'd like them to behave slightly differently in some situations. For example, when the player chooses a slot for a new game. If it's empty, a new game should begin immediately, but if it's occupied by a previous save, you might want a warning popup - "This will overwrite..." etc.
Similarly, it would be nice to include some variable information in the save slots depending on whether or not they are empty. If the save slot is occupied, the text might read [var=CharacterName], [var=CurrentLocation], [var=Date], to show your name, location and date, but if it's empty, the text would just read "Empty Slot 1".
Is there an inbuilt way to do something like this, or would it involve some custom scripting?
3. I know this is going to be something really obvious, but how exactly do you make sure that game objects in the scene are getting saved as well as the dialogue data? Just to test this out, I added an Active Saver to a game object, set it to active during a conversation, and set Record Persistent Data On to All Game Objects, but on reloading the game, the game object has returned to its inactive state.
Sorry that's a lot of questions in one go...I'm just trying to get this save system working as well as possible so I never have to look at it again lol. Thanks for your help.