Skip to content

Repository files navigation

AbilitySystemSetup

This is a C++ plugin extending Epic's Gameplay Ability System, providing a foundation and an efficient workflow for using it. Its goals are to speed up development, eliminate boilerplate code, and provide good design.

Collaborators: ChristianHinkle, brian2524.

Dependencies

This code plugin builds off of our other code libraries:

Key Features

  • Ability Sets - Grants Abilities, Effects, and Attribute Sets as a group to an AbilitySystemComponent, providing an output handle for tracking.
  • AvatarActorExtension Component - Generalized component that can initialize/uninitialize an Avatar Actor, given an AbilitySystemComponent (and optional AbilitySets).
    • It stays agnostic to AbilitySystemComponent location
    • Supports any Avatar Actor
      • Pawn Avatar Actors use a more specialized "PawnAvatarActorExtension" component which inherits and provides extra GAS input binding logic.
  • ASSEngineSubsystem - Used to load global data tables and tags via UAbilitySystemGlobals::InitGlobalData()
  • Editor-only checks - Ensures proper workflow is followed
  • TargetActor reusability
  • Custom Target Data Filters - Improved method of handling the filtering process
    • Class whitelist array
    • Class blacklist array
    • Option to only allow classes implementing IAbilitySystemInterface
  • Corrects OnAvatarSet() Engine bug - The event doesn't properly get called on instanced abilities when only switching the AvatarActor. Resolved by marking the event as final and forwards working calls to OnAvatarSetThatWorks().

About

Our minimal and non-intruding setup for the Gameplay Ability System

Resources

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages