Best Class for abilities?

Hi I’m doing a c++ project in unreal. I’m at the part where I’m still piecing it together so I want to make the ri

Before a round starts, a player may choose three abilities to use from a pool of abilities.

What class do you think ,ould the abilities inherit from? (I was thinking UActorComponent, and just found out about UAbilitySystemComponent)

What do you feel is the best parent class for the abilities that players can choose from?

Thank you!


The Ability System looks like it could be useful to you, but I can’t find much documentation on it yet as it may still be a work in progress.
You can try checking out GameplayEffectTests.cpp in the engine source.

You should just make your own ability class deriving from UActorComponent. I’ve found that using pre-made stuff for gameplay logic is almost never a good idea in the long run

Better to know and understand your code, so that you can change it easily if you need to, and make it do exactly what you want it to do

You’re certainly welcome to use the existing ability system code (UAbilitySystemComponent, etc) but I’ll throw out a couple words of warning. First, this system isn’t really in a state where it’s ready for significant public use yet. If you do decide to use the system then parts you’re relying on may be changed with little or no notice. There isn’t much documentation or examples and I can’t give you a timeline for when either of these might come. If you search the forums you can find a handful of posts with some info to get you started but you’re pretty much on your own.

GameplayEffectTests.cpp may not be the best example to use. It does show how you can apply gameplay effects to modify attributes. However, because we wanted the unit tests to not need data files you can see we’re creating and populating gameplay effects in code. In real world uses gameplay effects should be data assets.

Thank you for the replies & advice.