My Unity iPhone board game has several sets of built in boards, plus one set of custom boards which starts empty and the player can add to it. Til now I’ve been using an array of ScriptableObjects (which each contain a list of pre-made boards) for the built in sets, and a separate empty list with save to JSON functions for the custom set.
That’s always felt clunky to me. I’m wondering: if I just added an empty ScriptableObject at the end of my built in array, and at runtime added custom boards to that, without saving to JSON, would they persist across sessions on the iPhone? They do when I do that in the editor.
In other words, is modifying a scriptable object at runtime a valid method for the player saving and loading data between sessions, or are they only meant to be for the developer to provide built in content?