Missing something fundamental about scripting an RPG party system - specifically, keeping characters in a list.
Hey, thanks for taking a look, this project is all in C# by the way.
Just to give a little background about the game I'm trying to make - you basically play through a series of jrpg-style, party based, turn-based boss battles. Your characters don't navigate a world, they just appear in the battle scene, and you interact with them through menus. The part that I'm stuck on now is how to instantiate characters, then add them to either a list of the four active party characters, or the list of 'benched' characters.
Here's my original idea that won't work:
attach a character's class(Char_Bruce) to an empty game object(CharacterController)
add that component(Char_Bruce) to a List of party characters(partyChars)
rinse and repeat for new characters
query the list to populate the party menu
The immediate problem I run into is that keeping a separate class for each of the unique characters means that I can't list them together. I considered making a Char_Template class, then fiddling with the relevant stat variables, then attaching that to the CharacterController and party/bench lists every time a new character is added, but I don't really understand how to get unique 'character' objects from a default template - I can't make a copy and change the name of the script component (before attaching to a game object) for uniquely identifying it, can I?
Some other stuff I considered, but maybe don't know how to do:
Making an "interface" to store multiple data types within my lists. This concept is totally foreign to me, so I'd need to study up.
Whenever I add a new character to the game, make an empty game object for them (BruceObject), then attach their unique class(Char_Bruce) to that. Then I can make a party/bench list of the various characters' objects, return their script components, interact with the variables and call functions, as well as present the relevant data in the menu.
After all that. my question boils down to this:
How do you make a party system in an rpg game? Are any of my ideas workable and scalable? Am I missing a very basic concept here?
Thanks for any help you can offer, or any pointers in the right direction.
Your answer

Follow this Question
Related Questions
Referencing instances of scripts based on the GameObject they are attached to. 0 Answers
How the heck do I save this info for my characters? [Serialization Usage Question] 1 Answer
How would I get around multiple inheritance for this instance? 1 Answer
Change UI image in a conversation 1 Answer
[URGENT!] Unity crashing when I level up my character in game? 1 Answer