Ability Sets

Ability Sets are Data Assets that group related abilities together.
For example: Combat Abilities, Interaction Abilities, or Knockback Abilities.


Defining an Ability Set

When you create an Ability Set Data Asset, you’ll see an array of FEasyGrantAbilityData entries.
Each entry lets you define:

Example in the editor:


How It Works

This data is used as input for the standard Give Ability Function, but with a Gameplay Tag instead of a plain integer.
The tag is converted to an integer using FGameplayTag::GetTypeHash(), ensuring each tag is unique and safe to use as a key.


Why Use Ability Sets?

Even if you only want to grant a single ability (like in example), using an Ability Set is best practice.


Easy Ability System Set Manager

The Ability System Set Manager is an Actor Component (not an Ability System Component).
You add it to any actor that already has an Ability System Component. This keeps things modular and lets teams customize their Ability System Component as needed.

Once added, the Set Manager can handle granting and removing ability sets for that actor.

Initialization

On the component, there’s a field called Initialized Ability Sets.
Any sets you add here will be automatically granted to the Ability System Component when the game starts (on the server).


Managing Ability Sets at Runtime

You can grant or remove ability sets at any time, either in Blueprints or C++:

This makes it easy to add or remove groups of abilities as your game changes—no need to track each ability individually!

Easy Ability Set System

ELMARATH DEV