The Gameplay Ability System is a framework for building attributes, abilities, and interactions that an Actor can own and trigger. The system is designed to be adapted to a wide variety of Gameplay-Driven projects such as Role-Playing Games(RPGs), Action-Adventure games, and Multiplayer Online Battle Arenas games(MOBA).
With the Gameplay Ability System, you can:
-
Use the Ability System Component. The Ability System Component includes all the base functionality that an Actor Component implements.
-
The Ability System Component implements its own Interface to access and interact with the framework of the Gameplay Ability System.
-
Create active or passive Gameplay Abilities, for Actors that coordinate with your project's gameplay mechanics, visual effects,animations, sounds, and other data-driven elements.
-
Use Attributes and Attribute Sets that store, calculate, and modify your gameplay-related values as they interact with the Gameplay Ability System.
-
Change Attributes with Gameplay Effects that provide a method to directly modify attribute values with your project's design. Gameplay Effects contain Gameplay Effect Components that determine how a Gameplay Effect behaves.
-
Ability Tasks(
UAbilityTask
) are a specialized form of a Gameplay Task class that work with Gameplay Abilities. Games that use the Gameplay Ability System usually include a variety of custom Ability Tasks which implement their unique gameplay features. They perform asynchronous work during a Gameplay Ability's execution, and have the capability to affect execution flow by calling Delegates in native C++ code or moving through one or more output execution pins like Blueprints.
Using this system, you can create abilities like a single attack, or add more complexity like a spell that triggers many status effects depending on data from the user and the targets.
Valley of the Ancient Sample
Echo's charge and attack animation and their walking animation are examples of a Gameplay Ability.
See the Valley of the Ancient Sample for additional features.