Gameplay Ability System

High-level view of the Gameplay Ability System

On this page


The Gameplay Ability System is a highly-flexible framework for building abilities and attributes of the type you might find in an RPG or MOBA title. You can build actions or passive abilities for the characters in your games to use, status effects that can build up or wear down various attributes as a result of these actions, implement "cooldown" timers or resource costs to regulate the usage of these actions, change the level of the ability and its effects at each level, activate particle or sound effects, and more. Put simply, this system can help you to design, implement, and efficiently network in-game abilities as simple as jumping or as complex as your favorite character's ability set in any modern RPG or MOBA title.

System Setup

Because the Gameplay Ability System exists as a Plugin, you will need to opt-in to use it. This is easy to do, and only requires two steps:

  • Enable the Gameplay Ability System Plugin in the Edit -> Plugins window.

  • To get the full range of capabilities of this system, add "GameplayAbilities", "GameplayTags", and "GameplayTasks" to PublicDependencyModuleNames in your project's "(ProjectName).Build.cs" file. This is easy to do by finding the list of public modules:

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay" });

To use the Gameplay Ability System, add the three module names anywhere in the braced list, as follows:

PublicDependencyModuleNames.AddRange(new string[] { "GameplayAbilities", "GameplayTags", "GameplayTasks", "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay" });

The Ability System Component is the main interface through which your game's characters will access the Gameplay Ability System. This Component manages Gameplay Attributes, runs Gameplay Events, stores Gameplay Abilities, and even handles binding player input to Gameplay Ability activation, confirmation, and cancelation commands. Any Actor that is intended to interact with the Gameplay Ability System should have an Ability System Component.

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback