Fighting Style/Moveset Switching

This isn’t exactly what my implementation will be, but hopefully this example makes what I’m trying to get at a little clearer. I don’t need a detailed how-to, I’m only looking for the broad strokes of how you might approach this design problem.

The problem is to have a character that has various fighting styles available to them. Each fighting style has a completely different set of animations, button combinations for combos, and generally changes what most gamepad inputs do. The character needs to be able to switch fighting styles on the fly. Bonus points if the game can dictate which fighting styles the player has access to (for a leveling system or some such thing).

Is there an efficient/modular way to approach the programming of this behavior?

Is there a way to break each fighting style into its own blueprint/object/something and just flip switches within the playercontroller to turn each fighting style on/off?

I’d like to keep separate anim BPs for each fighting style if possible as well.

Again, I’m just looking for broad strokes ideas. I’ve been trying a few different things but they all seem hacky or too rigid.

Thank you for your Time.