• Stars
    star
    245
  • Rank 165,304 (Top 4 %)
  • Language
    C++
  • License
    MIT License
  • Created over 5 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A basic setup for using Epic's Gameplay Ability System.

Narxim's GAS Example

A bare-bones Gameplay Ability System (GAS) template to help you get started.

GitHub Repo stars GitHub last commit GitHub Unreal

ExampleImage

Features

Ability System Component on the PlayerState (Player Only)


Having the Ability System Component on the PlayerState allows data to be persistent if you plan on deleting your player pawn during gameplay. This is also helpful if you possess different pawns and still need a reference to the main character's stats and ability states. The main drawback of this setup is the need to increase the PlayerState's NetUpdateFrequency so that updates from the servers version arent too delayed. - Which really isn't a problem at all.


Other Features include:

  • Thoroughly Commented code
  • Health Attribute Set (With Damage / Healing)
  • Stamina Attribute Set
  • Stamina Regeneration example (Based on Stamina Regeneration attribute)
  • Ability bindings (Will be replaced with Enhanced Input in a future version)
  • (Updated) Attribute modifiers for Gameplay Abilities
  • GA Jump example with Stamina cost
  • Player Character and Non Player Character class examples
  • Generic NPC Gameplay Ability use example (Jump)
  • Helper functions for use in Blueprint
  • Blueprint exposed "Give Gameplay Ability" function
  • (New) Example UI with Ability System Bindings (In Game UI and Nameplate)
  • (New) Example Effects based on stats (Damage and Healing Volumes)

Dan's (Tranek) GAS Documentation covers all of these concepts and goes into much more detail on how GAS works as a whole. This repo was made as a starting point for getting set up and should be used alongside Dan's documentation. My intent is for devs who may not be as familiar with C++ or are just starting with GAS to have access to a more easily digestable setup example.


Check out the Unreal Slackers Discord if you have any questions!