methodology:
Using ScriptableObject to store different sprites( UI images, i.e buttons images, panel image, Background Image( almost 15 sprites)). On change theme command I call the ScriptableObject and take the sprites out of the S-Object.
and using 6 ScriptableObjects for 6 different themes in my game.
----------Now------
What to do? declare 15 sprites in Scr-Object and do it like described above? or pack all the sprites in a sprite atlas and declare a function with in ScriptableObject class to get the desired sprite and set it upon receiving change theme command ?
which one is better in your opinion and why? or is there even better solution. Do let me know.
The approach described where scriptable object serves as “data block” and stores references to used sprites is good enough. Additionally, there’s no real reason to add any methods to it. It can be just completely passive datablock.