Yes. Let's say you're keeping track of the most recently-saved slot number in a variable named mostRecentSlotNumber, and your character customization is in a Saver script named CharacterCustomizationSaver saved under the key "customization". To load save data without applying it.
If you're talking about a Dialogue System variable, since you're in the main menu you can just apply it to the Dialogue System since the data will be reset when you actually load a saved game. Example:
using PixelCrushers.DialogueSystem;
...
string s = savedGameData.GetData("ds"); // Assumes your DialogueSystemSaver's Key is "ds".
PersistentDataManager.ApplySaveData(s);
string myVariableValue = DialogueLua.GetVariable("My Variable");
I tried for a couple of hours but couldn't get it to retrieve data!
It debugs 0, the default variable value of "CurrentHat" not just OnSaveDataApplied, but also on update.
My game only uses save slot 0. Don't know why but data is not applying. I also made sure to give the DialogueSystemSaver the key "ds", still won't load.
because it generates garbage memory that will need to be garbage-collected at some point. If you're doing it every once in a while, it's fine. Just don't do it every frame, such as in Update().