Skip to content
Back to wiki

Initial Setup

This docs explains how to setup generic gameplay abilities plugin in your project in Unreal Engine 5.

Created: Apr 10, 2025Updated: Nov 03, 2026

Preface

The current documentation assumes that you already know about GAS, and subsequent updates to the documentation or videos will be more user-friendly for users with 0 experience with GAS.

Before using GGA, make sure you have a basic understanding of GAS. There are already many resources on the Internet that can help you understand and learn about GAS. I recommend the following:

  1. Gameplay Ability System Official Documentation
  2. GAS Documentation The most detailed GAS documentation in the world. You'll need to check along with this document to learn about GGA, and I'll be quoting from that document where needed to give you more insight into the principles behind GAS.

It's recommended that you have basic knowledge of the following topics:

  1. Gameplay Tags
  2. Gameplay Targeting System A new official data-driven way of targeting and it works better with GAS.

This plugin is not trying to hide the complexity of GAS or expecting users to avoid C++.

It aims to be a starting point for users to discover the benefits of GAS, and then when the time is right, they can go deeper to understand the principles behind GAS.

Don't forget to check out some of my understanding of GAS Concepts

Project Setup

Install the plugin through Fab / Epic Games Launcher and enable it in your project, or place it in the project's Plugins directory. Standalone GGA does not include an example project or gameplay assets. If your GCS installation already contains GGA, do not install a second standalone copy. The current project uses UE 5.8, the minimum supported version.

Blueprint Setup

Just enable this plugin in your project.

Just enable this plugin in your project.

If you want to code generator to generate your own designed attribute set, then you also need to convert your project to C++ project.

C++ Setup

Make sure to reference the following modules in your main code module of your project and recompile.

确保在你的项目主要模块中,引用所需的模块。

Ability System Globals

To use global extensions such as GGA's typed Effect Context, configure AbilitySystemGlobals in Config/DefaultGame.ini:

ini
[/Script/GameplayAbilities.AbilitySystemGlobals]
AbilitySystemGlobalsClassName="/Script/GenericGameplayAbilities.GGA_AbilitySystemGlobals"
In UE5.5+, you can directly set the default settings of AbilitySystemGlobals Class in ProjectSetting.

Activate your first ability

  1. Add a GGA_AbilitySystemComponent to the actor or its owner. Owner and Avatar can be the same actor. In multiplayer, provide valid Owner and Avatar actors on the server and on clients that use the ASC, and call InitializeAbilitySystem at the appropriate lifecycle point.
  2. Create a Blueprint derived from GGA_GameplayAbility and implement activation and ending. Instanced Per Actor is a practical starting policy.
  3. Create a GGA_AbilitySet data asset and add the ability. Configure it as a default set on the ASC, or grant it dynamically on the server and retain the returned handles.
  4. Activate the granted ability through the ASC and check that it runs and ends. For multiplayer, check both server and client. If activation fails, check Actor Info, the server-side grant, and the ability's tag, cost, and cooldown requirements.

Clean up dynamically granted content according to your project's lifecycle. See Ability System Component and Gameplay Ability Basics; generating AttributeSets requires a C++ project and compiler, as described in Attribute Set Code Generation.