kinda complicated shit going on at this stage. ended up using two static variables, a bool and a byte, to keep track of isLoading state and a selected save slot index. this was in lieu of creating a PlayerPrefs Load key… which I can sort of see a benefit to. if the saveData is corrupt, you could force another file load with a PlayerPrefs hack, but you shouldn’t need the data to persist across application sessions, so a static should be fine. it’s just so the data doesn’t get reinitialized to the default values when loading new scenes. again, the issue was that reloading the scene after clicking load caused everything to reinitialize, so two Load functions were essentially created. one to load the scene and one two get the data from the save. basically, you call the get version in the start method if the isLoading bool is set, which just updates the values after the scene loads and you call the load scene version when you click the load button, which sets the isLoading bool and slot to load index.