Whatever load/save option I choose for my game (json/non-json), it requires the content to be loaded to/from scene variables only. I tried creating a function to bridge this gap, but I can only configure a parameter of type scene variable.
AFAIK, Global variables are useful for storing data that the entire game needs access to at all times, such as player inventory. Scene variables store values as long as a scene is active and are useful for storing data that is limited to a scene, for instance no. of enemies/checkpoints etc. Based on your game design, you can choose where you want to save your data and how frequently. There’s data that don’t change on every scene, but must be persisted across scenes (e.g. player avatar). You don’t need to assign it to a GameObject (i.e. you don’t need to create an instance of it), but you can access it from everywhere in your project, without any extra code to pass values between scenes.
May be I am missing the bigger picture, or may be I am too lazy to create few extra steps or look for workaround, but creating scene variable just to pass values from storage to global variable (with/without json), and not able to create functions that are applicable to global variables seems little off for me.
Curious to know your views on this?