GameplayAbilitySystem (GAS) Documentation and Multiplayer Sample Project

Hi all,

I wrote down my knowledge of working with the GameplayAbilitySystem plugin for the past year on my Paragon Demo into a sort of unofficial personal documentation and included a simple multiplayer-ready third person shooter sample project.

Maybe it’ll help someone learn how to use this powerful system. :slight_smile:

Abilities implemented in the sample project: [TABLE=“align: left, border: 1, cellpadding: 1”]

Input Bind
Blueprint or C++

Space Bar
Makes the character jump.

Left Mouse Button
Shoots the gun. Shooting animation is predicted but the projectiles are not.

Aim Down Sights
Right Mouse Button
Character walks slower and aims down ironsights.

Left Shift
Character runs faster while draining stamina.

Forward Dash
Character dashes forward at the cost of stamina.

Passive Armor Stacks
Passive Ability
Character passively gains armor stacks up to 4. Each instance of damage reduces an armor stack.

Player expends mana to target an area and drops a meteor on enemies doing AOE damage and stunning them.


Thank you for this! Very detailed and useful documentation.

I am wondering if things in GAS will be fixed and updated time to time to newest UE4 Version. Do you know something about that?

Thank you for this example!

It looks like a fix for the root motion source ability tasks is in master on GitHub, mostly likely we’ll see it in 4.25 or you can cherry pick it into your custom engine now.

Thank you. I hope it is okay to ask something about GIT in general:

I found the GAS history:

And I found the general pull requests:

In the GAS history I see what happens. How is the process of shipping these with an UE4 Version? Any chance to guess when all of these will be reviewed and get into the release?

On Pull request I see state of changes and whats in 4.24, but the view is global and not for GAS. It is possible to see such a Pull Request Overview for GAS, to see whats in review and whats inside the last UE4 releases?

Thank you!

I’m not really a git ninja so I can’t answer that, but starting with 4.24 I’m compiling a high level list of changes to GAS for each engine version from the official engine update changelog and from undocumented changes that we find.

thanks for the quick 4.25 Update!

Is GASShooter written in such a way that I could build off it for a dedicated server type game with good server side validation? For example with the hitscan stuff, is there support for server side validating there isn’t anything in between the shooter and the target, ie: no shooting through walls cause client said it could? Or would I be better off starting with my own initial project and building off of the concepts in the documentation?

GASShooter is not a production-ready template. It’s only a demonstration of some advanced GAS techniques. Server validation is left as an exercise to the developer as everyone’s needs are different.