Documentation / Discord Server / Issue tracker / Demo / Example Project / Changelog
GAS Companion aims to be a general base for GAS powered projects without making any game design choices. The various parts of the system are intended to be subclassed and customized per project needs.
It includes the necessary initial C++ setup, helpers and additional features to get started on a new project that aims to use Epic's GAS plugin (used namely in Fortnite and Paragon, and showcased in Action RPG project)
It enables non C++ developers to work with GAS using only Blueprints. Even non BP friendly, c++ required parts of GAS like Gameplay Attributes can be handled with a custom C++ generation Wizard for Attribute Sets.
Similarly, GAS Companion can help existing projects that are considering the use of GAS and accelerate the implementation, or provide guidance.
- Provided as a Plugin to easily share code between projects
- Blueprint Friendly, no need to dive into the cpp side, you can implement Abilities right away
- C++ Friendly too! You can easily extend from the provided C++ class and / or modify the plugin source.
- Not Game Specific The plugin doesn't make any assumptions about your game design and decisions, and was built to be generic enough to be used in any kind of game.
- Flexible AttributeSet / Attributes framework Generate custom Attributes from the Editor with a hand-crafted AttributeSet Wizard.
- Ability Queue System (with a Debug Widget! more information below)
- Ignore Ability Cost feature (Possibility to "loosely" check cost for Abilities, more information here)
- Melee Combo System Easy way to define melee abilities with combo capabilities
- Gameplay Ability / Effects Definitions Data Driven way to specify common parent GA / GE classes that are accessible through File Menu
- Straightforward UI framework with HUD UserWidget able to react to GAS related events (Support for custom attributes and events to listen for GameplayTags, GameplayEffects and CooldownStart / End)
- LaunchPad Window Browse and explore various example maps
- AttributeSet default setup with most commonly used Attributes (Health, Stamina, Mana)
- ASC on PlayerState (for Player characters) or on Pawns (for AI / NPC Characters)
- AI Tasks Activate Abilities by Tags or Class from Behavior Trees
- Ability Queue System Store failed abilities and re-trigger when the previous running ability ends, with a custom Debug Widget to visualize the state of the Queue System
- Custom AbilitySystemComponent and GameplayAbility Activate abilities by Class / Tags (and return the activated ability), Abilities with onAbilityEnded delegate (useful for Behavior Tree Tasks), Abilities with Gameplay Effect Containers (inspired by Action RPG project)
- Comprehensive Base Character and Actors Getters for AttributeSet values, Support for startup Attributes, Effects and Abilities, Ability System helpers (Ability activation, Checking for GameplayTags, ...), Ability, Attributes and Character lifecycle Events (OnAbilityActivated / Commit / Ended / Failed, OnAttributeChange, OnDamage, OnDeath, OnGameplayTagChange, OnGameplayEffectStackChange, OnCooldownStart / End, ...)
- Component based Most of the API is provided by Actor Components (Core / Combo / Ability Queue)
- GASCompanion (Runtime)
- GASCompanionEditor (Editor)
- GASCompanionDeveloper (UncookedOnly)
Number of Blueprints: 19
Number of C++ Classes: 64
Network Replicated: Yes
Supported Development Platforms: Windows / Mac
Supported Target Build Platforms: Windows, Mac, Xbox One, PS4
Version: 2.1.1 (4.26) / 1.1.2 (4.24-4.25)
Important/Additional Notes: Although it should support all the mentioned platforms above, this plugin has been tested exclusively on Windows.