Turn-based strategy game power ups

Hello there !

I’m kind of new to Unreal here, and I would love the opinion of the seasoned UE devs about the more proper way to do something. Kind of more at a conceptual level rather then specific programming.

context:
I have that idea about a turned-based strategy game that is somewhere between chess or checkers and Mario vs Rabbids thing. It’s a 1 vs 1 turned based game. Characters have a default starting behaviors and skills set. The goal is to wipe out the others. The players will start with a fixed amount of power ups, let say 3, and during the game after each use of a power up a new one will take it’s place randomly. ( the table top equivalent of a deck of card that you draw from after you play one in your hand kind of thing )

The issue :

How would you attach those power ups to the characters ? Given that some of those power ups can change a wide variety of things, including the way the characters move, or even merge some together, temporary or not, or some power ups will affects the world, some will affects the rules.

My solution so far:

I’m not really sure if Unreal will like it or not, but this really sound to me like a library of classes that should be attached at runtime to what it’s supposed to affect. Actor, game modes, world, player controllers etc ). Is it possible to attach components dynamically to objects at runtime in unreal ? Or do you know a better way to do what I’m trying to do here.

Thanks a lot !