Skip to main content

gas kit

38 tools. Generated from the plugin source; do not edit by hand.

Guide​

Use gas.* for GAS-specific Blueprint classes and an existing actor's Ability System Component. Use bp.* to define project Gameplay Tags or author event graphs inside the classes created here. The kit never chooses your player/character ASC architecture.

Start with gas.get_info. In a temporary folder, call gas.create_test_setup to create one Gameplay Ability, Gameplay Effect, AttributeSet, and static Gameplay Cue class. Inspect each with gas.get_ability, gas.get_effect, gas.list_attributes, or gas.get_cue.

For ability classification, define tags with bp.add_gameplay_tag, create an ability with gas.create_ability, assign durable asset tags with gas.set_ability_tags, then use bp.* graph tools to author activation behavior. AbilityTags identifies the asset; activation requirements and owned tags remain visible in gas.get_ability.

For effects, create an effect, choose instant, infinite, or duration with gas.set_effect_duration, then assign effect/target tags with gas.set_effect_tags and gas.set_effect_granted_tags. gas.set_effect_modifiers replaces the complete ordered modifier list with direct numeric scalable magnitudes. Each entry explicitly names its AttributeSet class, attribute property (GameplayAttributeData or a legacy float attribute), operation, and magnitude; executions, attribute-based calculations, granted abilities, and cue dispatch remain game-specific work.

For attributes, create an AttributeSet class and use gas.list_attributes to audit its real GameplayAttributeData properties. During PIE, gas.get_attribute_value reads one selected property from an existing actor's ASC and reports its base and current values. Fields, clamps, and gameplay callbacks belong in the game's native/Blueprint design.

For cues, use gas.create_cue_static and gas.list_cues. Register/manage the cue tag with bp.*, then author notify behavior in the Blueprint graph.

During PIE, target an actor label or object name that already owns an AbilitySystemComponent. gas.get_asc_state combines current tags, granted abilities, and active effects. gas.activate_ability and gas.apply_effect_self keep normal authority, required-tag, cost, and cooldown checks intact. gas.add_loose_tag and gas.remove_loose_tag affect only transient ASC state and never write the project tag table.

Names for new assets cannot contain spaces, slashes, or dots. Content paths must stay under /Game. Runtime tools require a live PIE actor that owns an ASC.

Trying GAS in PIE without a project pawn​

  1. Start PIE, then call gas.spawn_test_pawn {"label":"GasTest"}. It spawns the engine's AbilitySystemTestPawn (ASC + AbilitySystemTestAttributeSet) or reuses an actor with that label; pawnClass accepts any pawn class that owns an ASC. On UE 4.27 it also initialises the GAS globals when the project has not.
  2. gas.ability_grant_class {"actor":"GasTest","class":"/Script/GameplayAbilities.GameplayAbility"} returns the new spec handle in message; gas.activate_ability uses the same class.
  3. gas.apply_effect_self applies a GameplayEffect class. Pass durationPolicy (instant, infinite, duration + durationSeconds) to apply a transient copy with that policy without editing the asset, e.g. to get an active effect from the base /Script/GameplayAbilities.GameplayEffect.
  4. Handle tools (gas.ability_get_by_handle, gas.ability_clear_handle, gas.active_effect_get_by_handle, gas.active_effect_remove_by_handle) accept a handle string or last (most recently granted ability / last listed active effect).
  5. GameplayCue is a natively registered tag on every engine with GAS, handy for gas.add_loose_tag and the cue tools when the project has no tags yet.
  6. gas.get_attribute_value {"actor":"GasTest","attributeSetClass":"/Script/GameplayAbilities.AbilitySystemTestAttributeSet","property":"Mana"} reads a test attribute.

Tools​

Legend. risk 0 = read-only, 1 = harmless editor op, 2 = modifies asset, 3 = deletes/replaces asset, 4 = project/config/build op, 5 = potentially destructive (calls above MaxAutoRisk need "_confirm": true). mutates = runs in a transaction (edit.undo reverts). requires PIE / requires world = refused without a PIE session / an open level. requires plugin = unavailable while the plugin is disabled. dryRun = honours the dryRun argument. smoke = covered by edit.self_test.

gas.ability_clear_handle (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Removes one granted ability by handle from an authoritative PIE ASC.

ArgumentTypeDescription
handlestringrequired. Handle string returned by gas.ability_grant_class / gas.list_active_effects, or 'last' for the most recently granted ability / last listed active effect.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.ability_get_by_handle (risk 0, requires plugin GameplayAbilities, requires PIE, smoke)​

Returns the ability class for one granted ability handle.

ArgumentTypeDescription
handlestringrequired. Handle string returned by gas.ability_grant_class / gas.list_active_effects, or 'last' for the most recently granted ability / last listed active effect.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.ability_grant_class (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Grants an ability class on an authoritative PIE ASC; message carries the new handle.

ArgumentTypeDescription
classstringrequired. GameplayAbility or GameplayEffect Blueprint/class path.
levelintegerAbility/effect level; must be positive. Default 1.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.activate_ability (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Requests activation by ability class on a PIE actor ASC.

ArgumentTypeDescription
classstringrequired. GameplayAbility or GameplayEffect Blueprint/class path.
levelintegerAbility/effect level; must be positive. Default 1.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.active_effect_get_by_handle (risk 0, requires plugin GameplayAbilities, requires PIE, smoke)​

Returns one active effect and its remaining time.

ArgumentTypeDescription
handlestringrequired. Handle string returned by gas.ability_grant_class / gas.list_active_effects, or 'last' for the most recently granted ability / last listed active effect.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.active_effect_remove_by_handle (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Removes one active effect by handle.

ArgumentTypeDescription
handlestringrequired. Handle string returned by gas.ability_grant_class / gas.list_active_effects, or 'last' for the most recently granted ability / last listed active effect.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.add_loose_tag (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Adds one registered loose tag to this PIE actor ASC without editing project tag definitions.

ArgumentTypeDescription
tagstringrequired. Registered gameplay tag to add or remove from this ASC only.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.apply_effect_self (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Applies a GameplayEffect class to the same PIE actor ASC at the requested level.

ArgumentTypeDescription
durationPolicystringOptional duration override applied to a transient copy of the effect: '' keeps the class policy, or instant, infinite, duration.
durationSecondsnumberSeconds used when durationPolicy is 'duration'; must be positive. Default 5.f.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.attribute_sets_list (risk 0, requires plugin GameplayAbilities, requires PIE, smoke)​

Lists AttributeSet classes spawned on a PIE ASC.

ArgumentTypeDescription
actorstringrequired. PIE actor label or object name that owns an AbilitySystemComponent.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.create_ability (risk 2, mutates, requires plugin GameplayAbilities, smoke)​

Creates a GameplayAbility-derived Blueprint class.

ArgumentTypeDescription
folderstringrequired. Destination Content Browser folder under /Game.
namestringrequired. Asset name without spaces, slashes, or extension.

Returns: item, message.

gas.create_attribute_set (risk 2, mutates, requires plugin GameplayAbilities, smoke)​

Creates an AttributeSet-derived Blueprint class.

ArgumentTypeDescription
folderstringrequired. Destination Content Browser folder under /Game.
namestringrequired. Asset name without spaces, slashes, or extension.

Returns: item, message.

gas.create_cue_static (risk 2, mutates, requires plugin GameplayAbilities, smoke)​

Creates a static Gameplay Cue notify Blueprint; tag table changes stay in bp.*.

ArgumentTypeDescription
folderstringrequired. Destination Content Browser folder under /Game.
namestringrequired. Asset name without spaces, slashes, or extension.

Returns: item, message.

gas.create_effect (risk 2, mutates, requires plugin GameplayAbilities, smoke)​

Creates a GameplayEffect-derived Blueprint class.

ArgumentTypeDescription
folderstringrequired. Destination Content Browser folder under /Game.
namestringrequired. Asset name without spaces, slashes, or extension.

Returns: item, message.

gas.create_test_setup (risk 2, mutates, requires plugin GameplayAbilities, smoke)​

Creates reusable Ability, Effect, AttributeSet, and Cue Blueprint fixtures.

ArgumentTypeDescription
folderstringrequired. Destination Content Browser folder under /Game for all smoke fixtures.

Returns: items, count, message.

gas.gameplay_cue_add (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Adds a persistent gameplay cue on an authoritative PIE ASC.

ArgumentTypeDescription
tagstringrequired. Registered gameplay tag to add or remove from this ASC only.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.gameplay_cue_execute (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Executes a one-shot gameplay cue on a PIE ASC.

ArgumentTypeDescription
tagstringrequired. Registered gameplay tag to add or remove from this ASC only.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.gameplay_cue_remove (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Removes a persistent gameplay cue from an authoritative PIE ASC.

ArgumentTypeDescription
tagstringrequired. Registered gameplay tag to add or remove from this ASC only.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.get_ability (risk 0, requires plugin GameplayAbilities, smoke)​

Returns ability tag and parent-class defaults.

ArgumentTypeDescription
assetstringrequired. Blueprint asset path or generated class path.

Returns: abilityTags, activationOwnedTags, activationRequiredTags, activationBlockedTags.

gas.get_asc_state (risk 0, requires plugin GameplayAbilities, requires PIE, smoke)​

Returns owned tags, granted abilities, and active-effect handles from a PIE actor ASC.

ArgumentTypeDescription
actorstringrequired. PIE actor label or object name that owns an AbilitySystemComponent.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.get_attribute_value (risk 0, requires plugin GameplayAbilities, requires PIE, smoke)​

Reads one explicitly selected GAS attribute (GameplayAttributeData or legacy float property) from a PIE AbilitySystemComponent.

ArgumentTypeDescription
actorstringrequired. PIE actor label or object name that owns an AbilitySystemComponent.
attributeSetClassstringrequired. AttributeSet Blueprint/class path that declares the selected property.
propertystringrequired. GameplayAttributeData property name declared by attributeSetClass.

Returns: actor, attributeSetClass, attribute, baseValue, currentValue.

gas.get_cue (risk 0, requires plugin GameplayAbilities, smoke)​

Returns a cue Blueprint's parent and notify kind.

ArgumentTypeDescription
assetstringrequired. Blueprint asset path or generated class path.

Returns: cueKind.

gas.get_effect (risk 0, requires plugin GameplayAbilities, smoke)​

Returns GameplayEffect duration, modifier count, and tag defaults.

ArgumentTypeDescription
assetstringrequired. Blueprint asset path or generated class path.

Returns: durationPolicy, modifierCount, effectTags, grantedTags, modifiers, warnings.

gas.get_info (risk 0, smoke)​

Reports runtime/plugin capability and the deliberate Blueprint and Gameplay Tag boundaries.

ArgumentTypeDescription
folderstringFolder under /Game; empty searches all project content.
nameContainsstringOptional case-insensitive substring for asset names.
limitintegerMaximum assets returned; zero means no explicit limit. Default 0.

Returns: gameplayAbilitiesAvailable, categories, notes.

gas.list_abilities (risk 0, requires plugin GameplayAbilities, smoke)​

Lists GameplayAbility-derived Blueprint classes.

ArgumentTypeDescription
folderstringFolder under /Game; empty searches all project content.
nameContainsstringOptional case-insensitive substring for asset names.
limitintegerMaximum assets returned; zero means no explicit limit. Default 0.

Returns: items, count, message.

gas.list_active_effects (risk 0, requires plugin GameplayAbilities, requires PIE, smoke)​

Lists active effects and remaining duration from a PIE actor ASC.

ArgumentTypeDescription
actorstringrequired. PIE actor label or object name that owns an AbilitySystemComponent.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.list_assets (risk 0, requires plugin GameplayAbilities, smoke)​

Lists every GAS Blueprint asset category below a folder.

ArgumentTypeDescription
folderstringFolder under /Game; empty searches all project content.
nameContainsstringOptional case-insensitive substring for asset names.
limitintegerMaximum assets returned; zero means no explicit limit. Default 0.

Returns: items, count, message.

gas.list_attribute_sets (risk 0, requires plugin GameplayAbilities, smoke)​

Lists AttributeSet-derived Blueprint classes.

ArgumentTypeDescription
folderstringFolder under /Game; empty searches all project content.
nameContainsstringOptional case-insensitive substring for asset names.
limitintegerMaximum assets returned; zero means no explicit limit. Default 0.

Returns: items, count, message.

gas.list_attributes (risk 0, requires plugin GameplayAbilities, smoke)​

Lists GameplayAttributeData properties exposed by an AttributeSet class.

ArgumentTypeDescription
assetstringrequired. Blueprint asset path or generated class path.

Returns: attributes, count.

gas.list_cues (risk 0, requires plugin GameplayAbilities, smoke)​

Lists static or actor Gameplay Cue notify Blueprint classes.

ArgumentTypeDescription
folderstringFolder under /Game; empty searches all project content.
nameContainsstringOptional case-insensitive substring for asset names.
limitintegerMaximum assets returned; zero means no explicit limit. Default 0.

Returns: items, count, message.

gas.list_effects (risk 0, requires plugin GameplayAbilities, smoke)​

Lists GameplayEffect-derived Blueprint classes.

ArgumentTypeDescription
folderstringFolder under /Game; empty searches all project content.
nameContainsstringOptional case-insensitive substring for asset names.
limitintegerMaximum assets returned; zero means no explicit limit. Default 0.

Returns: items, count, message.

gas.list_granted_abilities (risk 0, requires plugin GameplayAbilities, requires PIE, smoke)​

Lists abilities currently granted to a PIE actor ASC.

ArgumentTypeDescription
actorstringrequired. PIE actor label or object name that owns an AbilitySystemComponent.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.remove_loose_tag (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Removes one registered loose tag from this PIE actor ASC.

ArgumentTypeDescription
tagstringrequired. Registered gameplay tag to add or remove from this ASC only.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.

gas.set_ability_tags (risk 2, mutates, requires plugin GameplayAbilities, smoke)​

Replaces AbilityTags, which classify the ability asset.

ArgumentTypeDescription
assetstringrequired. Blueprint asset path or generated class path.
tagsarray of stringrequired. Registered Gameplay Tags to assign.

Returns: abilityTags, activationOwnedTags, activationRequiredTags, activationBlockedTags.

gas.set_effect_duration (risk 2, mutates, requires plugin GameplayAbilities, smoke)​

Sets the durable duration policy without inventing modifier semantics.

ArgumentTypeDescription
assetstringrequired. GameplayEffect Blueprint asset path or generated class path.
policystringrequired. Duration policy: instant, infinite, or duration.

Returns: durationPolicy, modifierCount, effectTags, grantedTags, modifiers, warnings.

gas.set_effect_granted_tags (risk 2, mutates, requires plugin GameplayAbilities, smoke)​

Replaces the tags an active effect grants to its target.

ArgumentTypeDescription
assetstringrequired. Blueprint asset path or generated class path.
tagsarray of stringrequired. Registered Gameplay Tags to assign.

Returns: durationPolicy, modifierCount, effectTags, grantedTags, modifiers, warnings.

gas.set_effect_modifiers (risk 2, mutates, requires plugin GameplayAbilities, smoke)​

Replaces an effect's direct numeric AttributeSet modifiers (GameplayAttributeData or legacy float attributes) in the supplied order.

ArgumentTypeDescription
assetstringrequired. GameplayEffect Blueprint asset path or generated class path.
modifiersarray of UeaGasEffectModifierInputrequired. Ordered direct numeric modifiers that replace the effect's complete modifier list.

Returns: durationPolicy, modifierCount, effectTags, grantedTags, modifiers, warnings.

gas.set_effect_tags (risk 2, mutates, requires plugin GameplayAbilities, smoke)​

Replaces the effect asset tags, not the project's gameplay tag table.

ArgumentTypeDescription
assetstringrequired. Blueprint asset path or generated class path.
tagsarray of stringrequired. Registered Gameplay Tags to assign.

Returns: durationPolicy, modifierCount, effectTags, grantedTags, modifiers, warnings.

gas.spawn_test_pawn (risk 1, mutates, requires plugin GameplayAbilities, requires PIE, smoke)​

Spawns (or reuses by label) a PIE pawn that owns an AbilitySystemComponent; default is the engine AbilitySystemTestPawn with AbilitySystemTestAttributeSet.

ArgumentTypeDescription
labelstringrequired. Actor label for the spawned pawn; an existing PIE actor with this label is reused.
pawnClassstringPawn class that owns an AbilitySystemComponent; default is the engine's AbilitySystemTestPawn (ASC + AbilitySystemTestAttributeSet).
location{x,y,z}World location in centimeters.

Returns: actor, ownedTags, grantedAbilities, activeEffects, remainingSeconds, count, message.