I started project week ago and I have a good idea about the game mechanics, game loop... Yesterday I started programming the base architecture for the game, but I found myself stuck when I had to think about the game objects managing ( Having all my "characters" resources loaded at the start of the game so I can instantiate them by their id ).
The game takes a heavy inspiration from Vampire Survivors but with a more RPG feel to it ( Passive abilities, active abilities, talent tree...).
For now I have a Hero.cs class for handling player logic, HeroResource.cs for storing hero attributes such as name, damage, health... and possibly in the future storing the hero abilities.
With that I want to be able to spawn heroes by instantiating a Hero scene with a Hero.cs script attached and pass to the Hero class HeroResource. By doing that I would avoid having to create a acene for each possible Hero in my game.
What would be the best way to store the resources so I can access them at runtime?