Is it possible to use App Var and Saved Var as a save system?

I’m working on an adventure platformer type game that would need to keep track of data like; equipment, coins, health, etc. I have been storing the data during gameplay with app variables which consist of floats, int’s and lists of bools (for unlocking equipment). When saving the game I copy over the data from app variables to a saved variable dictionary, which seems to work with int’s and floats. However the list of bools is where I have a problem. After a save point the data is updated (to the saved variable dictionary), but when I change the corresponding app variable during runtime it automatically updates the saved variable as well. Even though there’s not any code running currently to send that data.

It seems that the app variable (in this case a list of boolean) and the saved variable are inexplicably tied together after I run a save data script (save system)

Can anyone help me understand what’s going on here?

My understanding is that Saved Variables are stored in player prefs, which is supposedly not the way you should save game data. However, there is no built-in functionality in UVS for saving beyond those variables.

Personally, I don’t see the need to use both Saved and App variables to store the same information. The Saved variables can be accessed in the same manner as the App variables (across multiple scenes, etc) but also hold between play sessions.

Saved variables serialize to PlayerPrefs, which don’t support anything past the base primitive types - bool, int, string. It does not support collections. You could try to serialize your bool collection to JSON using JsonUtility, then save it via Saved Variables of type string. The relevant nodes would be JsonUtility ToJson that serializes input into a string and JsonUtility FromJson, which should return your collection of bools from the JSON string.