C# -- Build character unit from script

So, my question is of efficiency, and whether it’s smart. We’re designing a game that will potentially have hundreds of “characters” to choose from… I guess like a MOBA… so they’re all very similar and the only variance is animation/model/material/skills/stats/sounds. Lol, ok so the only similarity is the control and backend work. So, we’d like to just have one prefab set up with controlls and all that lower level stuff, and then have all the other components added on at runtime based on the character the player has chosen. This would be in contrast to having 100+ prefabs all slapped into a resources folder.

So, is this a good idea? It’s A LOT to load via scripts and requires careful planning to get everything loaded correctly. The plus side is that adding new characters would be a breeze and our Assets directory would be quite a bit smaller. We realize that if we didn’t load dynamically, any changes we’d make to the character structure would have to be manually changed on eeevverryyy one manually. We’re pretty new at this though, so the pros/cons are hard to measure. Thoughts please? Thanks.

If you want to use only 1 rig with different meshes, have a look at these two threads: