Character Child Blueprints vs Separate Character Blueprints vs Changing Character mesh, animset etc

So I’m working on a game with multiple classes the player gets to choose from, when they reach a specific level they will be able to choose between two specializations. When they choose a specialization the character model/mesh, animset and abilities would all change, however sometimes they may still inherit abilities from their base class.

Would it be better to use child blueprints of a base character class from this and change between that when selecting a specialization, or should I just have separate character blueprints for each specialization. Or perhaps would it better to just have one character blueprint and change the mesh, animset, abilities etc. when changing specializations?

it really depends on the situation but i would imagine that using child classes would be a good option. with child classes then you can use inherited abilities, input methods, events, character setup, etc and you can have each specialization be its own class so those specific abilities and anims and things are separated.

you could also get really fancy if you wanted and use datatables and structs and child actors.

That’s exactly what I was thinking; just wasn’t sure if there was an even better option