š Godot G.A.S. Plugin ā Project Overview
š§© What Is It?
The Godot G.A.S. Plugin is a modular gameplay framework inspired by Unreal Engine 5's Gameplay Ability System (GAS) ā reimagined and implemented natively for Godot 4+.
Its goal is to bring the power, scalability, and flexibility of GAS to Godot developers while strictly adhering to:
- Godot engine architecture
- Best practices for GDScript and Godot plugins
- Familiar editor workflows
āļø Core Philosophy:
Recreate the capabilities of UE5's GAS system while feeling native to Godot ā no awkward wrappers or overcomplication.
š§ Core Systems (In Progress and Planned)
System | Status | Summary |
---|---|---|
Gameplay Tags | ā Done | Hierarchical tags used to define abilities, conditions, cues, and more. Includes full editor UI for category/tag management and inspector dropdown integration. |
Attributes | ā Done (Phase 1) | Defines numerical values like Health, Mana, Stamina. Includes regeneration, clamping, and runtime binding via AttributeComponent . Editor UI included. |
Cues | š Planned | Triggered effects like VFX, SFX, and animations, based on tag or ability events. Tied directly to Cue. gameplay tags. |
Abilities | š Planned | Modular logic units that can be activated by actors. Will include activation requirements, costs, effects, and tags. |
Cooldown System | š Planned | Tag-driven cooldown groups to prevent spamming. Fully tag-addressable. |
Effects System | š Planned | Applies modifiers to attributes or state, either instantly or over time (buffs, debuffs, DOTs, HOTs). |
Passive Abilities | š Planned | Auto-triggered or conditionally active abilities based on tag state. |
Editor Tools | š ļø Active | Visual panels for Tag Manager, Attribute Manager, Cue Viewer, etc. Accessible from the main GAS - Editor tab. |
š§ How It All Works Together
- Tags drive behavior.
- Actors, abilities, cooldowns, and cues all use tags to define state and interaction.
- Attributes define numeric gameplay.
- Values like Health, Mana, and Strength live in
AttributeComponent
, which other systems read/write.
- Values like Health, Mana, and Strength live in
- Abilities use tags and attributes to determine activation.
- Example: A Fireball ability requires
Mana > 20
, appliesCue.Burn
, and respects aCooldown.Ability.Fireball
tag.
- Example: A Fireball ability requires
- Cues trigger visuals and responses.
- The system listens for tags like
Cue.Burn
and shows fire effects.
- The system listens for tags like
- Editor tools keep the workflow clean and visual.
- Designers can manage everything without touching code via dropdowns and dedicated manager panels.
ā End Result:
A fully tag-driven, attribute-based gameplay framework for Godot developers ā letting designers prototype and developers scale up without fighting the engine.