I need to be able to load my game with a different set of assets, basically reskinning it.
I knew beforehand that I would need a way to do that in the future so right now i'm accessing my assets via a ScriptableObject that I call an "Accessor".
Basically the accessor only hold references to the assets and when I want to get, for example, the sprite for my cards I make a call that looks like that :
Sprite cardSprite = Accessors.Instance.GetCardFrame();
Solution seem simple, I add a layer above the accessors that allow it to choose between differents sets of references.
The problem is that right now I only use the accessors for dynamically generated gameobject ( When I instantiate a card for exemple ). How could I do that with, let's say, UI in the editor ? It will be nearly impossible to work on the UI if I can't see it due to the sprite not being loaded in editor mode.