← All namespaces

gas

AI & gameplay Experimental

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.

This area is experimental and still improving. Method names and parameters can change between releases, so treat the assets it produces as a starting point and review the wiring before you ship.

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.

← Back to all namespaces