gas
Gameplay Ability System assets: abilities, effects, cues, attribute sets, ASC setup.
What it's for
gas creates and wires the assets behind Unreal's Gameplay Ability System. It builds
GameplayAbility, GameplayEffect, GameplayCue notify, AttributeSet, and execution-calculation
blueprints, then configures the details that make them work together: modifiers, costs, cooldowns,
duration and stacking policies, granted tags, targeting, instancing, and replication policy.
Reach for it when you are standing up a GAS setup or adjusting one: define an attribute set and its attributes, author a damage or buff effect, create an ability and grant it on an actor's AbilitySystemComponent. Instead of clicking through a dozen editor panels and remembering which dropdown lives where, you describe the ability or effect you want and your assistant assembles the assets and their wiring.
Keep gas for the GAS assets themselves. For registry-level tag declaration and
FGameplayTagQuery authoring use gameplay_tags; for the surrounding game
rules, character movement, and replication outside GAS use game_framework,
character, or networking.
Examples
Create an attribute set with a Health attribute
Author a fresh AttributeSet blueprint and add an attribute with a default value.
You: Make an attribute set called DroneAttributes with a Health attribute that starts at 100.
call("gas.create_attribute_set", {name:"DroneAttributes", path:"/Game/GAS"})
→ {ok:true, path:"/Game/GAS/DroneAttributes"}
call("gas.add_attribute", {blueprintPath:"/Game/GAS/DroneAttributes",
attributeName:"Health", defaultValue:100})
→ {ok:true}
Done. DroneAttributes created with a Health attribute defaulting to 100.
Build a timed damage effect
Create a GameplayEffect, give it a duration, and add a modifier that subtracts a value.
You: Create a GE_Poison effect that deals -5 over 8 seconds.
call("gas.create_gameplay_effect", {name:"GE_Poison", path:"/Game/GAS",
durationType:"has_duration"})
→ {ok:true, path:"/Game/GAS/GE_Poison"}
call("gas.set_effect_duration", {blueprintPath:"/Game/GAS/GE_Poison",
durationType:"has_duration", duration:8})
→ {ok:true}
call("gas.add_effect_modifier", {blueprintPath:"/Game/GAS/GE_Poison",
operation:"additive", magnitude:-5})
→ {ok:true}
Done. GE_Poison applies a -5 additive modifier over 8 seconds.
Create an ability and grant it to an actor
Author a GameplayAbility blueprint, then grant it on an actor that has an ASC.
You: Make a Dash ability and grant it to BP_DroneCharacter on input 1.
call("gas.create_gameplay_ability", {name:"GA_Dash", path:"/Game/GAS"})
→ {ok:true, path:"/Game/GAS/GA_Dash"}
call("gas.grant_ability", {actorPath:"/Game/Drone/BP_DroneCharacter",
abilityPath:"/Game/GAS/GA_Dash", inputID:1})
→ {ok:true}
Done. GA_Dash created and granted to BP_DroneCharacter on input 1.