GameplayAbilities¶
66 tools. Back to the index.
activate_ability¶
Destructive.
Try to activate one granted ability on an editor-world actor ability system component with TryActivateAbility; activated is the engine verdict, false when the activation checks of the ability refuse it. Use grant_ability first, and cancel_ability to stop it.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
ability_name |
string | yes | Ability to match among the granted specs: the ability_name from get_active_abilities, the class name with or without _C ("GA_Jump"), the asset path ("/Game/Abilities/GA_Jump") or the class path; case-insensitive, first match wins |
Returns: { actor_name, ability_name, activated }
add_ability_task¶
Additive.
Create an ability task on the primary instance of an ability already granted to an editor-world actor; the task is initialized (AwaitingActivation), never activated. task_class is only validated: it always builds the abstract base UAbilityTask, which logs a warning and an ensure.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
ability_class |
string | yes | Class path of an ability already granted to the actor, e.g. "/Game/Abilities/GA_Jump.GA_Jump_C"; it must be instanced (have a primary instance) |
task_class |
string | yes | Class path of a UAbilityTask subclass, e.g. "/Script/GameplayAbilities.AbilityTask_WaitDelay"; checked, but not used to build the task |
instance_name |
string | no | Name for the new task instance (default "Default") |
Returns: { actor_name, ability_class, task_class, instance_name, task_name, added, task_state }
add_attribute_to_set¶
Additive.
Add one FGameplayAttributeData member variable to an AttributeSet Blueprint, with default_value as its BaseValue and CurrentValue, then compile and save it. A name that is already an attribute of the class is left as it is (added false, already_existed true); a name taken by a variable of another type fails. attribute_present and base_value are read from the compiled class; refused during PIE.
| Parameter | Type | Required | Description |
|---|---|---|---|
attribute_set_path |
string | yes | Full asset path of the AttributeSet Blueprint |
attribute_name |
string | yes | Name of the new attribute member variable |
default_value |
number | no | Initial BaseValue and CurrentValue of the attribute, default 0; not applied to an attribute that already exists. |
Returns: { attribute_set_path: string, attribute_name: string, default_value: number, added: bool, already_existed: bool, attribute_present: bool, base_value?: number, default_applied?: bool, saved: bool }
add_gameplay_effect_component¶
Additive, idempotent.
Add one empty UGameplayEffectComponent of a standard type to the GEComponents of a GameplayEffect Blueprint CDO and save without recompiling. Idempotent: an existing component of that type returns already_existed=true. Configure it with the set_gameplay_effect_component_* tools; get_gameplay_effect_components lists them.
| Parameter | Type | Required | Description |
|---|---|---|---|
gameplay_effect_path |
string | yes | Asset path of the GameplayEffect Blueprint, e.g. "/Game/GAS/Effects/GE_Damage". |
component_type |
string | yes | Bare type name, case-insensitive: AssetTags, TargetTags, AdditionalEffects, ChanceToApply, Immunity, TargetTagRequirements, RemoveOther, CustomCanApply, BlockAbilityTags, Abilities or CancelAbilityTags (not the full class name). |
Returns: { gameplay_effect_path: string, component_type: string, component_class: string, component_count: int, component_added: bool, already_existed: bool }
add_gameplay_effect_modifier¶
Additive.
Append one modifier with a constant magnitude to the Modifiers array on the class default object of a GameplayEffect Blueprint, then save it without recompiling and without an undo entry. attribute_name is looked up across every loaded AttributeSet class; an unknown attribute or modifier_op, a running PIE session or a read-only root fails before any edit. Each call appends a new entry, even an identical one; modifier_index says where it went. Change its magnitude type with set_gameplay_effect_modifier_set_by_caller, set_gameplay_effect_modifier_attribute_based or set_gameplay_effect_modifier_custom; remove_gameplay_effect_modifier drops it; get_gameplay_effect_modifiers lists them.
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
attribute_name |
string | yes | Attribute to modify, Health or MySet.Health: the bare name or AttributeSetClass.Attribute, case-insensitive, first match among the loaded AttributeSet classes |
modifier_op |
string | yes | Add, Multiply, Divide, or Override (case-insensitive) |
magnitude |
number | yes | Constant magnitude of the modifier, stored as a ScalableFloat without a curve |
Returns: { ge_blueprint_path: string, attribute_name: string, modifier_op: string, magnitude: number, modifier_index: int, modifier_count: int, magnitude_readback_ok: bool, magnitude_readback: number, added: bool }
apply_gameplay_effect¶
Destructive.
Apply a GameplayEffect class to an editor-world actor ability system component: an outgoing spec at the given level, with a fresh context from that component, applied to self. applied tells whether the engine returned a valid handle. apply_multiple_gameplay_effects applies a list.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
effect_class |
string | yes | Class path of a UGameplayEffect subclass; a Blueprint GE needs its _C class path, e.g. "/Game/Effects/GE_Burn.GE_Burn_C" |
level |
number | no | Effect level for scalable magnitudes, fractions allowed; default 1.0 |
Returns: { actor_name, effect_class, level, applied }
apply_multiple_gameplay_effects¶
Destructive.
Apply several GameplayEffect classes at one level to an editor-world actor ability system component; each entry is loaded and applied separately, so a bad path does not stop the rest. Returns requested, applied_count, failed_count and the per-entry applied and failed lists.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
effect_classes |
array | yes | JSON array of UGameplayEffect class path strings, e.g. ["/Game/Effects/GE_Burn.GE_Burn_C"]; non-string entries go to failed |
level |
number | no | GameplayEffect/ability level applied to all effects (default 1.0) |
Returns: { error, effect_class, applied, active_handle, actor_name, requested, applied_count, failed_count, failed }
cancel_ability¶
Destructive.
Cancel one granted ability on an editor-world actor ability system component (CancelAbilityHandle), reading its spec before and after: returns was_active, still_active and cancelled. success is false, with an error, when the ability is still active afterwards (it may not allow cancelling).
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
ability_name |
string | yes | Ability to match among the granted specs: the ability_name from get_active_abilities, the class name with or without _C ("GA_Jump"), the asset path ("/Game/Abilities/GA_Jump") or the class path; case-insensitive, first match wins |
Returns: { actor_name, ability_name, was_active, still_active, cancelled } -- read back from the spec: cancelled means was_active and not still_active
configure_ability_tags¶
Destructive, idempotent.
Set a GameplayAbility CDO's asset tags from a list of tag strings
| Parameter | Type | Required | Description |
|---|---|---|---|
ability_blueprint_path |
string | yes | Full asset path of the GA Blueprint |
asset_tags |
array | yes | List of gameplay tag strings, e.g. [Ability.Fire] |
Returns: { ability_blueprint_path: string, resolved_tags: [string], unknown_tags: [string], ability_tags: [string], tag_count: int, configured: bool }
create_attribute_set_asset¶
Additive.
Create (or reuse) an AttributeSet Blueprint at package_path/name like create_attribute_set_blueprint (a Blueprint of another class there is an error, and is left untouched), add one FGameplayAttributeData variable per attributes entry, then compile and save it. A name the class already has is skipped and listed in skipped_attribute_names; success is false when an added attribute is missing from the compiled class or did not get its default_value. Refused during PIE.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Asset name without a path, e.g. "AS_Character". |
package_path |
string | no | Content folder for the new asset, e.g. "/Game/GAS/Attributes"; defaults to /Game/Blueprints. |
attributes |
array | no | Array of {"name": "Health", "default_value": 100} objects; default_value (default 0) becomes the BaseValue and CurrentValue of the compiled default. Entries without a name are ignored. |
Returns: { name: string, asset_path: string, parent_class: string, generated_class: string, is_attribute_set: bool, already_existed: bool, attributes_added: int, added_attribute_names: [string], skipped_attribute_names: [string], failed_attribute_names: [string], attributes_applied: bool, created: bool }
create_attribute_set_blueprint¶
Additive.
Create an empty Blueprint parented to UAttributeSet at package_path/name, compile and save it; returns asset_path and is_attribute_set. An AttributeSet Blueprint already there is returned untouched (created false, already_existed true); a Blueprint of another class there is an error. To add attributes use add_attribute_to_set, or create_attribute_set_asset in one call. Refused during PIE.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Asset name without a path, e.g. "AS_Character". |
package_path |
string | no | Content folder for the new asset, e.g. "/Game/GAS/Attributes"; defaults to /Game/Blueprints. |
Returns: { name: string, asset_path: string, parent_class: string, generated_class: string, is_attribute_set: bool, already_existed: bool, created: bool }
create_gameplay_ability_blueprint¶
Additive.
Create a Blueprint parented to UGameplayAbility at package_path/name, compile and save it; returns asset_path, generated_class and is_gameplay_ability. A GameplayAbility Blueprint already at that path is returned untouched (created false, already_existed true); a Blueprint of another class there is an error. Refused during PIE.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Asset name without a path, e.g. "GA_Fireball". |
package_path |
string | no | Content folder for the new asset, e.g. "/Game/GAS/Abilities"; defaults to /Game/Blueprints. |
Returns: { name: string, asset_path: string, parent_class: string, generated_class: string, is_gameplay_ability: bool, already_existed: bool, created: bool }
create_gameplay_cue_notify_actor¶
Additive.
Create a Blueprint parented to AGameplayCueNotify_Actor (a spawned, instanced cue actor) at package_path/name, compile and save it, or reuse the one of that class already there (created false, already_existed true); a Blueprint of another class there is an error. A registered gameplay_cue_tag is written to the CDO; an unregistered one only yields cue_tag_set=false. Refused during PIE.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Asset name without a path, e.g. "GCN_Beam". |
package_path |
string | no | Content folder for the new asset, e.g. "/Game/GAS/Cues"; defaults to /Game/Blueprints. |
gameplay_cue_tag |
string | no | Registered gameplay tag written as GameplayCueTag and GameplayCueName, e.g. "GameplayCue.Beam"; an unregistered tag is skipped (cue_tag_set=false), not an error. |
Returns: { name: string, asset_path: string, parent_class: string, generated_class: string, is_gameplay_cue_notify: bool, cue_tag_set: bool, cue_tag_requested: string, cue_tag: string, already_existed: bool, created: bool }
create_gameplay_cue_notify_burst¶
Additive.
Create a Blueprint parented to UGameplayCueNotify_Burst (modern non-instanced one-shot notify), compile and save it, or reuse the one of that class already there (created false, already_existed true); a Blueprint of another class there is an error.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Asset name, e.g. GCN_Hit |
package_path |
string | no | Target content path, defaults to /Game/Blueprints |
gameplay_cue_tag |
string | no | Optional registered GameplayCue tag to set on the CDO |
Returns: { name: string, asset_path: string, parent_class: string, generated_class: string, is_gameplay_cue_notify: bool, cue_tag_set: bool, cue_tag_requested: string, cue_tag: string, already_existed: bool, created: bool }
create_gameplay_cue_notify_looping¶
Additive.
Create a Blueprint parented to AGameplayCueNotify_Looping (modern instanced looping notify), compile and save it, or reuse the one of that class already there (created false, already_existed true); a Blueprint of another class there is an error.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Asset name, e.g. GCN_Aura |
package_path |
string | no | Target content path, defaults to /Game/Blueprints |
gameplay_cue_tag |
string | no | Optional registered GameplayCue tag to set on the CDO |
Returns: { name: string, asset_path: string, parent_class: string, generated_class: string, is_gameplay_cue_notify: bool, cue_tag_set: bool, cue_tag_requested: string, cue_tag: string, already_existed: bool, created: bool }
create_gameplay_cue_notify_static¶
Additive.
Create a Blueprint parented to UGameplayCueNotify_Static (non-instanced, one-shot) at package_path/name, compile and save it, or reuse the one of that class already there (created false, already_existed true); a Blueprint of another class there is an error. A registered gameplay_cue_tag is written to the CDO; an unregistered one only yields cue_tag_set=false. Refused during PIE.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Asset name without a path, e.g. "GCN_Hit". |
package_path |
string | no | Content folder for the new asset, e.g. "/Game/GAS/Cues"; defaults to /Game/Blueprints. |
gameplay_cue_tag |
string | no | Registered gameplay tag written as GameplayCueTag and GameplayCueName, e.g. "GameplayCue.Hit"; an unregistered tag is skipped (cue_tag_set=false), not an error. |
Returns: { name: string, asset_path: string, parent_class: string, generated_class: string, is_gameplay_cue_notify: bool, cue_tag_set: bool, cue_tag_requested: string, cue_tag: string, already_existed: bool, created: bool }
create_gameplay_effect_blueprint¶
Additive.
Create a Blueprint parented to UGameplayEffect at package_path/name, compile and save it; returns asset_path, generated_class and is_gameplay_effect. A GameplayEffect Blueprint already at that path is returned untouched (created false, already_existed true); a Blueprint of another class there is an error. Refused during PIE.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Asset name without a path, e.g. "GE_Damage". |
package_path |
string | no | Content folder for the new asset, e.g. "/Game/GAS/Effects"; defaults to /Game/Blueprints. |
Returns: { name: string, asset_path: string, parent_class: string, generated_class: string, is_gameplay_effect: bool, already_existed: bool, created: bool }
create_gameplay_effect_container¶
Additive.
Create and save a native UGameplayEffect asset (despite the name, not a container and not a Blueprint) at package_path/name. An existing asset there is returned untouched (already_existed=true). apply_gameplay_effect needs a class, so use create_gameplay_effect_blueprint for an effect it can apply.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Asset name without a path, e.g. "GE_Damage" |
package_path |
string | no | Target content package path where the asset is created (default /Game/GameplayEffects) |
duration_policy |
string | no | Duration type, case-insensitive: Instant, HasDuration or Infinite (default Instant) |
duration_magnitude |
number | no | Duration in seconds, applied when policy is HasDuration (default 0.0) |
Returns: { name, asset_path, already_existed, duration_policy, duration_magnitude, created }
create_gameplay_mod_magnitude_calculation_blueprint¶
Additive.
Create a Blueprint parented to UGameplayModMagnitudeCalculation (a custom magnitude calc class for GE modifiers), compile and save it. A Blueprint of that class already at the path is returned untouched (created false, already_existed true); one of another class there is an error.
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Asset name, e.g. MMC_Damage |
package_path |
string | no | Target content path, defaults to /Game/Blueprints |
Returns: { name: string, asset_path: string, parent_class: string, generated_class: string, is_mod_magnitude_calculation: bool, already_existed: bool, created: bool }
get_ability_activation_info¶
Read-only.
Read the AssetTags of a GameplayAbility Blueprint from its class default object: ability_tags, asset_tag_count, and ability_name (the default object name). Despite the tool name, no activation data is read: no activation policy, required or blocked tags, cost or cooldown. Read-only and editor-time: it loads the asset and needs no actor or PIE; a path that is not a GameplayAbility Blueprint is an error. configure_ability_tags writes these tags; get_ability_info reads an ability granted to an actor.
| Parameter | Type | Required | Description |
|---|---|---|---|
ability_path |
string | yes | Full /Game path to the ability Blueprint asset |
Returns: { ability_path: string, ability_name: string, ability_tags: [string], asset_tag_count: int }
get_ability_info¶
Read-only.
Read one ability granted to an editor-world actor ability system component: ability_class, level, is_active and input_id of the first matching spec. Read-only; an error when no granted spec matches ability_name. Use get_active_abilities to list them all.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
ability_name |
string | yes | Ability to match among the granted specs: the ability_name from get_active_abilities, the class name with or without _C ("GA_Jump"), the asset path ("/Game/Abilities/GA_Jump") or the class path; case-insensitive, first match wins |
Returns: { actor_name, ability_name, ability_class, level, is_active, input_id }
get_ability_system_component¶
Read-only.
Read the ability system component of an editor-world actor (the IAbilitySystemInterface answer, else its first UAbilitySystemComponent): component_name, active_abilities_count (all granted specs, active or not) and active_effects_count. Read-only; a missing actor or component is an error, not has_ability_system=false.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
Returns: { actor_name, has_ability_system, component_name, active_abilities_count, active_effects_count }
get_ability_tasks¶
Read-only.
List the UGameplayTask objects outered to a GameplayTasksComponent of an editor-world actor (its ability system component counts): task_name, task_class, task_state, is_ability_task, plus counts. Tasks built by NewAbilityTask, add_ability_task included, are outered to the transient package and are not listed.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
Returns: { task_name, task_class, task_state, is_ability_task, actor_name, task_count, ability_task_count, generic_task_count, tasks }
get_active_abilities¶
Read-only.
List every ability granted to an editor-world actor ability system component, running or not (all activatable specs, despite the tool name): ability_name (the class default object name), ability_class, level and is_active, plus count. Read-only; get_ability_info reads one.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
Returns: { ability_name, ability_class, level, is_active, actor_name, abilities, count }
get_active_effects¶
Read-only.
List the gameplay effects currently active on an editor-world actor ability system component: effect_name (the definition object name), effect_class and level for each, plus count. Read-only; effects whose definition is gone are skipped. get_gameplay_effect_info reads one.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
Returns: { effect_name, effect_class, level, actor_name, effects, count }
get_attribute_meta_on_set_class¶
Read-only.
Read back the FAttributeMetaData DataTable an AttributeSet class is initialized from (read-side of set_attribute_meta_on_set_class): row struct name, row count, and the serialized rows. This reports the AUTHORED defaults on disk, not the live values of any actor -- for those use get_attribute_value / get_attributes.
| Parameter | Type | Required | Description |
|---|---|---|---|
attribute_set_class_path |
string | yes | Full UAttributeSet class path |
data_table_path |
string | no | Optional override; default is /Game/UEAgent/AttributeMeta/<ClassName>_Meta |
Returns: { attribute_set_class, data_table_path, row_struct, row_count, rows }
get_attribute_value¶
Read-only.
Read one attribute from the attribute sets registered on an editor-world actor ability system component: value (current, modifiers included), base_value and attribute_set. Read-only; an unknown attribute is not an error but found=false. get_attributes lists every attribute.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
attribute_name |
string | yes | Attribute name ("Health") or "SetClass.Attribute" ("MyAttributeSet.Health"), case-insensitive; the first registered attribute that matches wins |
Returns: { actor_name, attribute_name, found, value, base_value, attribute_set }
get_attributes¶
Read-only.
List every attribute of the attribute sets registered on the ability system component of an editor-world actor (its IAbilitySystemInterface answer, else its first UAbilitySystemComponent), each with attribute_name, attribute_set, value (current, modifiers included), base_value and found, plus count. Read-only. A missing actor or component is an error; a component with no registered set gives count 0. Use get_attribute_value for one attribute, set_attribute_base_value to change one.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
Returns: { actor_name: string, attributes: [{ attribute_name: string, attribute_set?: string, value: number, base_value: number, found: bool }], count: int }
get_gameplay_cue_notify_info¶
Read-only.
Read a GameplayCueNotify Blueprint CDO: variant, tag and (Actor/Looping) lifetime props
| Parameter | Type | Required | Description |
|---|---|---|---|
cue_notify_path |
string | yes | Full asset path of the GameplayCueNotify Blueprint (Static/Burst/Actor/Looping) |
Returns: { cue_notify_path: string, parent_class: string, notify_type: string, gameplay_cue_tag: string, gameplay_cue_name: string, is_override: bool, auto_destroy_on_remove: bool, auto_destroy_delay: number, auto_attach_to_owner: bool, unique_instance_per_instigator: bool, unique_instance_per_source_object: bool, allow_multiple_on_active_events: bool, allow_multiple_while_active_events: bool, num_preallocated_instances: int }
get_gameplay_effect_components¶
Read-only.
Read the GEComponents array from a GameplayEffect CDO, round-tripping each component's configured values (granted/asset/blocked tags, chance-to-apply, tag requirements, granted-ability configs)
| Parameter | Type | Required | Description |
|---|---|---|---|
gameplay_effect_path |
string | yes | Full asset path of the GE Blueprint |
Returns: { gameplay_effect_path: string, components: [object], component_count: int }
get_gameplay_effect_info¶
Read-only.
Read the first active gameplay effect on an editor-world actor ability system component whose definition matches effect_name: effect_class and level. Read-only; an error when none matches. For an effect asset that is not applied, use get_gameplay_effect_modifiers instead.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
effect_name |
string | yes | Active effect to match by its definition: the effect_name from get_active_effects, the class name with or without _C ("GE_Burn"), the asset path ("/Game/Effects/GE_Burn") or the class path; case-insensitive, first match wins |
Returns: { actor_name, effect_name, effect_class, level }
get_gameplay_effect_modifiers¶
Read-only.
Read the attribute modifiers of a GameplayEffect asset (native asset, or Blueprint GE class default object): attribute, attribute_set, modifier_op and, when static, the magnitude at level 1, plus duration_policy and modifier_count. Read-only; magnitude_type always says ScalableFloat, whatever the real type.
| Parameter | Type | Required | Description |
|---|---|---|---|
effect_path |
string | yes | GameplayEffect asset path: a Blueprint GE ("/Game/Effects/GE_Burn") or a native UGameplayEffect asset |
Returns: { attribute, attribute_set, modifier_op, magnitude_type, magnitude_value_at_level_1, effect_path, duration_policy, modifier_count, modifiers }
grant_ability¶
Additive.
Grant an ability class to an editor-world actor ability system component with GiveAbility at a whole-number level; granted tells whether a valid spec handle came back. Runtime state only (not saved with the level), and granting the same class again adds another spec.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
ability_class |
string | yes | Class path of a UGameplayAbility subclass: "/Game/Abilities/GA_Jump.GA_Jump_C" for a Blueprint, "/Script/MyGame.MyAbility" for C++ |
level |
number | no | Spec level, a whole number; default 1 |
Returns: { actor_name, ability_class, level, granted }
poll_gameplay_tag_events¶
Read-only.
Reads fires recorded for a register_gameplay_tag_event subscription since a cursor (non-destructive cursor read, same idiom as poll_delegate_events). Never destructive: call again with next_cursor to keep draining without missing or repeating a fire.
| Parameter | Type | Required | Description |
|---|---|---|---|
subscription_id |
number | yes | subscription_id returned by register_gameplay_tag_event (required) |
cursor |
number | no | Optional; only fires with sequence_id > cursor are returned. Defaults to 0 (everything retained). |
Returns: { subscription_id: number, subscription_exists: bool, events: [{sequence_id: number, timestamp: number, new_count: number}], next_cursor: number }
register_gameplay_tag_event¶
Additive, idempotent.
Registers a REAL listener on a target actor's UAbilitySystemComponent for a gameplay tag's count changes (UAbilitySystemComponent::RegisterGameplayTagEvent, AbilitySystemComponent.h), binding an actual callback (.AddLambda) and keeping its FDelegateHandle so unregister_gameplay_tag_event can honestly undo it later. Idempotent: re-registering the same (actor, tag, event_type) returns the existing subscription_id instead of stacking a duplicate listener. Poll fires with poll_gameplay_tag_events.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Display label or internal name of the target editor-world actor (required) |
event_tag |
string | yes | FGameplayTag name (e.g. "Gameplay.Event.Hit") (required) |
event_type |
string | no | "NewOrRemoved" | "AnyCountChange" (default "NewOrRemoved") |
Returns: { actor_name: string, event_tag: string, event_type: string, subscription_id: number, registered: bool, already_existed: bool }
remove_ability¶
Destructive.
Remove one granted ability from an editor-world actor ability system component with ClearAbility. An active ability is only marked, and leaves when it ends (pending_removal=true); removed=true means the spec is gone. success is false with an error otherwise.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
ability_name |
string | yes | Ability to match among the granted specs: the ability_name from get_active_abilities, the class name with or without _C ("GA_Jump"), the asset path ("/Game/Abilities/GA_Jump") or the class path; case-insensitive, first match wins |
Returns: { actor_name, ability_name, removed, pending_removal } -- read back: removed means the spec is gone; an active ability is only marked, and leaves when it ends (pending_removal)
remove_gameplay_effect¶
Destructive.
Remove the first active gameplay effect on an editor-world actor ability system component whose definition matches effect_name, with all its stacks (RemoveActiveGameplayEffect). removed is the engine answer confirmed by the effect no longer being active; success is false with an error otherwise.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
effect_name |
string | yes | Active effect to match by its definition: the effect_name from get_active_effects, the class name with or without _C ("GE_Burn"), the asset path ("/Game/Effects/GE_Burn") or the class path; case-insensitive, first match wins |
Returns: { actor_name, effect_name, removed } -- removed is what the engine reports, confirmed by the effect not being active afterwards
remove_gameplay_effect_component¶
Destructive.
Remove a component from a GameplayEffect CDO's GEComponents array by index or by component_type/component_class (inverse of add_gameplay_effect_component)
| Parameter | Type | Required | Description |
|---|---|---|---|
gameplay_effect_path |
string | yes | Full asset path of the GE Blueprint |
component_index |
number | no | Optional index into the GEComponents array (call get_gameplay_effect_components to enumerate; 0 = first). Supply this OR component_type |
component_type |
string | no | Optional friendly type (AssetTags, TargetTags, AdditionalEffects, ChanceToApply, Immunity, TargetTagRequirements, RemoveOther, CustomCanApply, BlockAbilityTags, Abilities, CancelAbilityTags). Accepts the bare type or the full class name. Supply this OR component_index |
component_class |
string | no | Alias of component_type (accepts the full "<Type>GameplayEffectComponent" class name) |
Returns: { gameplay_effect_path: string, removed_index: int, removed_class: string, component_count: int, removed: bool, saved: bool }
remove_gameplay_effect_modifier¶
Destructive.
Remove a modifier from a GameplayEffect CDO's Modifiers array by index (the D in add/set CRUD)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
modifier_index |
number | yes | Index into the GE CDO Modifiers array to remove (0 = first; add_gameplay_effect_modifier appends) |
Returns: { ge_blueprint_path: string, removed_index: int, modifier_count: int, removed: bool }
send_gameplay_event_to_actor¶
Destructive.
Sends a FGameplayEvent to the target actor's UAbilitySystemComponent via UAbilitySystemBlueprintLibrary::SendGameplayEventToActor (AbilitySystemBlueprintLibrary.h). Wraps the engine's Lyra-style event bus entry point.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Display label or internal name of the target editor-world actor (required) |
event_tag |
string | yes | FGameplayTag name (e.g. "Gameplay.Event.Hit") (required) |
payload_magnitude |
number | no | Optional numeric magnitude placed in FGameplayEventData::EventMagnitude |
Returns: { actor_name: string, event_tag: string, sent: bool, asc_resolved: bool }
set_ability_cooldown¶
Destructive, idempotent.
Set the Cooldown GameplayEffect class on a GameplayAbility CDO (gates re-use until it expires)
| Parameter | Type | Required | Description |
|---|---|---|---|
ability_blueprint_path |
string | yes | Full asset path of the GameplayAbility Blueprint |
cooldown_effect_path |
string | no | Full asset path of the GameplayEffect Blueprint to use as the cooldown (typically HasDuration) |
Returns: { ability_blueprint_path: string, cooldown_effect_path: string, cooldown_effect_class: string, cooldown_effect_class_matches: bool, set: bool }
set_ability_cost¶
Destructive, idempotent.
Set the Cost GameplayEffect class on a GameplayAbility CDO (the GE applied when the ability is committed)
| Parameter | Type | Required | Description |
|---|---|---|---|
ability_blueprint_path |
string | yes | Full asset path of the GameplayAbility Blueprint |
cost_effect_path |
string | no | Full asset path of the GameplayEffect Blueprint to use as the cost |
Returns: { ability_blueprint_path: string, cost_effect_path: string, cost_effect_class: string, cost_effect_class_matches: bool, set: bool }
set_attribute_base_value¶
Destructive, idempotent.
Set the base value of one attribute on an editor-world actor ability system component (SetNumericAttributeBase); active modifiers keep applying on top. Returns the read-back base_value and current value; set=false, not an error, when no registered attribute set has that attribute.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name (not the label) of the editor-world actor, e.g. "BP_Hero_C_1", matched case-insensitively; find_actors_by_name maps labels to names |
attribute_name |
string | yes | Attribute name ("Health") or "SetClass.Attribute" ("MyAttributeSet.Health"), case-insensitive; the first registered attribute that matches wins |
value |
number | yes | The new base value for the attribute |
Returns: { actor_name, attribute_name, value, set, base_value }
set_attribute_meta_on_set_class¶
Destructive, idempotent.
Author the DataTable<FAttributeMetaData> that gives a UAttributeSet class its starting/min/max values, then validate it by calling InitFromMetaDataTable on that class's CDO. WHAT IT DOES NOT DO: it never writes the CDO -- only the DataTable is authored, and the running game is still expected to call CDO->InitFromMetaDataTable(DataTable) itself at character init (typically from an ASC's InitStats path). Use set_attribute_base_value to change a LIVE actor's attribute instead.
| Parameter | Type | Required | Description |
|---|---|---|---|
attribute_set_class_path |
string | yes | Full UAttributeSet class path (e.g. "/Script/GameplayAbilities.AbilitySystemTestAttributeSet" or "/Game/MyAS") |
metadata_rows |
array | yes | Array of |
data_table_path |
string | no | Target asset path (default "/Game/UEAgent/AttributeMeta/<ClassName>_Meta") |
Returns: { attribute_set_class, data_table_path, row_count, rows_imported, init_from_meta_succeeded, saved, problems }
set_gameplay_cue_notify_actor_properties¶
Destructive, idempotent.
Write the lifetime, instancing and override properties you pass on the class default object of an AGameplayCueNotify_Actor Blueprint (Looping ones included), then save it without recompiling and without an undo entry. Properties left out keep their values; passing none, or a Blueprint of another class, is an error. A running PIE session or a read-only root fails before any edit. It never sets the cue tag: set_gameplay_cue_notify_looping_properties does for Looping notifies, set_gameplay_cue_notify_static_properties and set_gameplay_cue_notify_burst_properties for non-actor ones. get_gameplay_cue_notify_info reads them back.
| Parameter | Type | Required | Description |
|---|---|---|---|
cue_notify_path |
string | yes | Full asset path of the GameplayCueNotify_Actor/_Looping Blueprint |
auto_destroy_on_remove |
boolean | no | Optional bool: auto recycle/destroy when OnRemove fires |
auto_destroy_delay |
number | no | Optional float: seconds to stay alive before auto-destroy (needs auto_destroy_on_remove) |
auto_attach_to_owner |
boolean | no | Optional bool: attach the cue actor to the target while active |
is_override |
boolean | no | Optional bool: this cue overrides parent-tag cues instead of running in addition |
unique_instance_per_instigator |
boolean | no | Optional bool: a new instance per instigator |
unique_instance_per_source_object |
boolean | no | Optional bool: a new instance per source object |
allow_multiple_on_active_events |
boolean | no | Optional bool: re-trigger On Burst if already triggered |
allow_multiple_while_active_events |
boolean | no | Optional bool: re-trigger On Become Relevant if already triggered |
num_preallocated_instances |
number | no | Optional int: how many instances of the cue to preallocate |
Returns: { cue_notify_path: string, properties_set: int, auto_destroy_on_remove: bool, auto_destroy_delay: number, auto_attach_to_owner: bool, is_override: bool, unique_instance_per_instigator: bool, unique_instance_per_source_object: bool, allow_multiple_on_active_events: bool, allow_multiple_while_active_events: bool, num_preallocated_instances: int, set: bool }
set_gameplay_cue_notify_burst_properties¶
Destructive, idempotent.
Set GameplayCueTag (mirrored into GameplayCueName) and/or IsOverride on the CDO of a UGameplayCueNotify_Burst Blueprint, then save it without recompiling. Needs at least one; an unregistered tag fails before anything is written. Burst effects (particles, sounds) are not authored. Returns the values read back.
| Parameter | Type | Required | Description |
|---|---|---|---|
cue_notify_path |
string | yes | Asset path of the GameplayCueNotify_Burst Blueprint, e.g. "/Game/GAS/Cues/GCN_Hit". |
gameplay_cue_tag |
string | no | Optional registered GameplayCue tag (sets GameplayCueTag + mirrors GameplayCueName); unregistered -> clean error |
is_override |
boolean | no | Optional bool: this cue overrides parent-tag cues instead of running in addition |
Returns: { cue_notify_path: string, properties_set: int, gameplay_cue_tag: string, gameplay_cue_name: string, is_override: bool, note: string, set: bool }
set_gameplay_cue_notify_looping_properties¶
Destructive, idempotent.
Set GameplayCueTag + Actor lifetime/instancing/override props on an AGameplayCueNotify_Looping Blueprint CDO
| Parameter | Type | Required | Description |
|---|---|---|---|
cue_notify_path |
string | yes | Full asset path of the GameplayCueNotify_Looping Blueprint |
gameplay_cue_tag |
string | no | Optional registered GameplayCue tag (sets GameplayCueTag + mirrors GameplayCueName); unregistered -> clean error |
auto_destroy_on_remove |
boolean | no | Optional bool: auto recycle/destroy when OnRemove fires |
auto_destroy_delay |
number | no | Optional float: seconds to stay alive before auto-destroy (needs auto_destroy_on_remove) |
auto_attach_to_owner |
boolean | no | Optional bool: attach the cue actor to the target while active |
is_override |
boolean | no | Optional bool: this cue overrides parent-tag cues instead of running in addition |
unique_instance_per_instigator |
boolean | no | Optional bool: a new instance per instigator |
unique_instance_per_source_object |
boolean | no | Optional bool: a new instance per source object |
allow_multiple_on_active_events |
boolean | no | Optional bool: re-trigger On Burst if already triggered |
allow_multiple_while_active_events |
boolean | no | Optional bool: re-trigger On Become Relevant if already triggered |
num_preallocated_instances |
number | no | Optional int: how many instances of the cue to preallocate |
Returns: { cue_notify_path: string, properties_set: int, gameplay_cue_tag: string, gameplay_cue_name: string, auto_destroy_on_remove: bool, auto_destroy_delay: number, auto_attach_to_owner: bool, is_override: bool, unique_instance_per_instigator: bool, unique_instance_per_source_object: bool, allow_multiple_on_active_events: bool, allow_multiple_while_active_events: bool, num_preallocated_instances: int, note: string, set: bool }
set_gameplay_cue_notify_static_properties¶
Destructive, idempotent.
Set GameplayCueTag (mirrored into GameplayCueName) and/or IsOverride on the CDO of a UGameplayCueNotify_Static Blueprint, then save it without recompiling. Needs at least one of the two; an unregistered tag fails before anything is written. Returns properties_set and the values read back.
| Parameter | Type | Required | Description |
|---|---|---|---|
cue_notify_path |
string | yes | Asset path of the GameplayCueNotify_Static Blueprint, e.g. "/Game/GAS/Cues/GCN_Hit". |
gameplay_cue_tag |
string | no | Optional registered GameplayCue tag (sets GameplayCueTag + mirrors GameplayCueName); unregistered -> clean error |
is_override |
boolean | no | Optional bool: this cue overrides parent-tag cues instead of running in addition |
Returns: { cue_notify_path: string, properties_set: int, gameplay_cue_tag: string, gameplay_cue_name: string, is_override: bool, set: bool }
set_gameplay_effect_component_asset_tags¶
Destructive, idempotent.
Configure an AssetTagsGameplayEffectComponent so the GE OWNS the given asset tags (does not transfer to actors; creates the component if absent; idempotent via FindOrAddComponent)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
tags |
string | no | List of gameplay tag strings the GE asset owns (replaces the component's Added tags) |
Returns: { ge_blueprint_path: string, component_class: string, resolved_tags: [string], unknown_tags: [string], asset_tags: [string], tag_count: int, already_existed: bool, set: bool }
set_gameplay_effect_component_block_ability_tags¶
Destructive, idempotent.
Configure a BlockAbilityTagsGameplayEffectComponent so the GE BLOCKS abilities with the given tags on its target (creates the component if absent; idempotent via FindOrAddComponent)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
tags |
string | no | List of gameplay tag strings of abilities to block (replaces the component's Added tags) |
Returns: { ge_blueprint_path: string, component_class: string, resolved_tags: [string], unknown_tags: [string], block_ability_tags: [string], tag_count: int, already_existed: bool, set: bool }
set_gameplay_effect_component_chance_to_apply¶
Destructive, idempotent.
Configure a ChanceToApplyGameplayEffectComponent with the probability (0.0..1.0) that the GE applies to its target (creates the component if absent; idempotent via FindOrAddComponent + set-to-fixed-value)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
chance |
number | yes | Probability the GE applies (0.0 = never, 1.0 = always) |
Returns: { ge_blueprint_path: string, component_class: string, chance: float, chance_readback: float, chance_matches: bool, already_existed: bool, set: bool }
set_gameplay_effect_component_granted_abilities¶
Destructive, idempotent.
Configure an AbilitiesGameplayEffectComponent to grant a GameplayAbility (by BP path/class name) to the target while the GE is active (creates the component if absent; AddGrantedAbilityConfig dedups via AddUnique)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
ability_path |
string | yes | GameplayAbility Blueprint asset path or bare class name to grant |
input_id |
number | no | Optional input ID to bind the granted ability to (default -1 = none) |
Returns: { ge_blueprint_path: string, component_class: string, ability_class: string, ability_config_count: int, input_id: int, already_existed: bool, ability_resolved: bool, set: bool }
set_gameplay_effect_component_target_tag_requirements¶
Destructive, idempotent.
Configure a TargetTagRequirementsGameplayEffectComponent's Application/Ongoing/Removal require & ignore tags (creates the component if absent; idempotent via FindOrAddComponent + set-to-fixed-value)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
application_require_tags |
array | no | Optional array of gameplay tag strings: the target must have for the GE to apply |
application_ignore_tags |
array | no | Optional array of gameplay tag strings: that, if present, block application |
ongoing_require_tags |
array | no | Optional array of gameplay tag strings: the target must keep for the GE to stay 'on' |
ongoing_ignore_tags |
array | no | Optional array of gameplay tag strings: that, if present, turn the GE 'off' while applied |
removal_require_tags |
array | no | Optional array of gameplay tag strings: that, if met, remove the GE |
removal_ignore_tags |
array | no | Optional array of gameplay tag strings: ignore tags for the removal requirement |
Returns: { ge_blueprint_path: string, component_class: string, already_existed: bool, application_require_tags: [string], application_ignore_tags: [string], ongoing_require_tags: [string], ongoing_ignore_tags: [string], removal_require_tags: [string], removal_ignore_tags: [string], unknown_tags: [string], set: bool }
set_gameplay_effect_component_target_tags¶
Destructive, idempotent.
Configure a TargetTagsGameplayEffectComponent so the GE GRANTS the given tags to its target actor (creates the component if absent; idempotent via FindOrAddComponent)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
tags |
string | no | List of gameplay tag strings to grant to the target (replaces the component's Added tags) |
Returns: { ge_blueprint_path: string, component_class: string, resolved_tags: [string], unknown_tags: [string], granted_tags: [string], tag_count: int, already_existed: bool, set: bool }
set_gameplay_effect_duration¶
Destructive, idempotent.
Set DurationPolicy on the class default object of a GameplayEffect Blueprint and, for HasDuration, a constant DurationMagnitude of duration_seconds (Instant and Infinite leave the stored magnitude as it was), then save the asset without recompiling and without an undo entry. A bad policy, HasDuration without duration_seconds, a non-GE Blueprint, a running PIE session or a read-only root fails before any edit. duration_seconds and duration_readback_ok come back only for HasDuration. For a native GE asset use set_gameplay_effect_duration_policy; for periodic ticks, set_gameplay_effect_period.
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
duration_policy |
string | yes | Instant, Infinite, or HasDuration |
duration_seconds |
number | no | Duration in seconds; required when duration_policy is HasDuration, ignored for Instant and Infinite |
Returns: { ge_blueprint_path: string, duration_policy: string, policy_matches: bool, duration_readback_ok: bool, duration_seconds: number, set: bool }
set_gameplay_effect_duration_policy¶
Destructive, idempotent.
Set DurationPolicy on a GameplayEffect asset (a native UGameplayEffect asset, or the class default object of a Blueprint GE) and save its package; with HasDuration it also sets a constant DurationMagnitude. Returns old_duration_policy and duration_policy. Fails while PIE runs, because the save is refused.
| Parameter | Type | Required | Description |
|---|---|---|---|
effect_path |
string | yes | GameplayEffect asset path: a Blueprint GE ("/Game/Effects/GE_Burn") or a native UGameplayEffect asset |
duration_policy |
string | yes | One of "Instant", "HasDuration" or "Infinite", any case ("duration" alone is refused) |
duration_magnitude |
number | no | Duration in seconds, applied when policy is HasDuration (default 0.0) |
Returns: { effect_path, old_duration_policy, duration_policy, duration_magnitude, set }
set_gameplay_effect_modifier_attribute_based¶
Destructive, idempotent.
Switch an existing GE modifier's magnitude to AttributeBased (scales off a captured attribute)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
modifier_index |
number | yes | Index into the GE CDO Modifiers array (0 = first) |
backing_attribute |
string | yes | Attribute to capture, e.g. Health or MySet.Health (must exist on some AttributeSet) |
attribute_source |
string | no | Capture source: Source (caster) or Target (recipient). Default Source |
coefficient |
number | no | Multiplier applied to the captured value. Default 1.0 |
pre_multiply_add |
number | no | Additive value applied before the coefficient. Default 0.0 |
post_multiply_add |
number | no | Additive value applied after the coefficient. Default 0.0 |
calculation_type |
string | no | AttributeMagnitude | AttributeBaseValue | AttributeBonusMagnitude. Default AttributeMagnitude |
snapshot |
boolean | no | If true capture the attribute at spec creation, else track changes. Default true |
Returns: { ge_blueprint_path: string, modifier_index: int, modifier_count: int, magnitude_type: string, backing_attribute: string, capture_attribute_readback: string, backing_attribute_matches: bool, attribute_source: string, coefficient: number, pre_multiply_add: number, post_multiply_add: number, calculation_type: string, snapshot: bool, set: bool }
set_gameplay_effect_modifier_attribute_based_up_to_channel¶
Destructive, idempotent.
Switch a GE modifier's magnitude to AttributeBased with the channel-terminated calculation policy (AttributeMagnitudeEvaluatedUpToChannel + FinalChannel)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
modifier_index |
number | yes | Index into the GE CDO Modifiers array (0 = first) |
backing_attribute |
string | yes | Attribute to capture, e.g. Health or MySet.Health (must exist on some AttributeSet) |
final_channel |
number | no | Mod evaluation channel (0-9) to terminate the partial attribute evaluation at. Default 0 |
attribute_source |
string | no | Capture source: Source (caster) or Target (recipient). Default Source |
coefficient |
number | no | Multiplier applied to the captured value. Default 1.0 |
pre_multiply_add |
number | no | Additive value applied before the coefficient. Default 0.0 |
post_multiply_add |
number | no | Additive value applied after the coefficient. Default 0.0 |
snapshot |
boolean | no | If true capture the attribute at spec creation, else track changes. Default true |
Returns: { ge_blueprint_path: string, modifier_index: int, modifier_count: int, magnitude_type: string, backing_attribute: string, capture_attribute_readback: string, backing_attribute_matches: bool, attribute_source: string, coefficient: number, pre_multiply_add: number, post_multiply_add: number, calculation_type: string, final_channel: int, final_channel_readback: int, channel_matches: bool, snapshot: bool, set: bool }
set_gameplay_effect_modifier_attribute_curve¶
Destructive, idempotent.
Set the AttributeCurve (a CurveTable row) on a GE modifier whose magnitude is already AttributeBased; the captured attribute is remapped through the curve instead of used directly
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
modifier_index |
number | yes | Index into the GE CDO Modifiers array; the modifier's magnitude must already be AttributeBased (call set_gameplay_effect_modifier_attribute_based first) |
curve_table_path |
string | yes | Full asset path of the UCurveTable holding the lookup row |
row_name |
string | yes | Name of the row within the CurveTable to use as the attribute lookup curve |
Returns: { ge_blueprint_path: string, modifier_index: int, modifier_count: int, magnitude_type: string, backing_attribute: string, curve_table_path: string, curve_table_readback: string, curve_table_matches: bool, row_name: string, row_name_readback: string, row_name_matches: bool, row_exists: bool, set: bool }
set_gameplay_effect_modifier_attribute_tag_filters¶
Destructive, idempotent.
Set the Source/Target tag filters on a GE modifier whose magnitude is already AttributeBased; only modifiers carrying all of a filter's tags factor into the captured attribute's evaluation
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
modifier_index |
number | yes | Index into the GE CDO Modifiers array; the modifier's magnitude must already be AttributeBased (call set_gameplay_effect_modifier_attribute_based first) |
source_tags |
array | no | Optional list of gameplay tag strings; replaces SourceTagFilter. Omit to leave the source filter unchanged |
target_tags |
array | no | Optional list of gameplay tag strings; replaces TargetTagFilter. Omit to leave the target filter unchanged |
Returns: { ge_blueprint_path: string, modifier_index: int, modifier_count: int, magnitude_type: string, source_tags_set: bool, target_tags_set: bool, source_resolved_tags: [string], source_unknown_tags: [string], target_resolved_tags: [string], target_unknown_tags: [string], source_tag_filter: [string], target_tag_filter: [string], set: bool }
set_gameplay_effect_modifier_custom¶
Destructive, idempotent.
Switch an existing GE modifier's magnitude to CustomCalculationClass (a UGameplayModMagnitudeCalculation subclass computes it)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
modifier_index |
number | yes | Index into the GE CDO Modifiers array (0 = first) |
calculation_class |
string | yes | BP asset path (/Game/...) or class name of a CONCRETE UGameplayModMagnitudeCalculation subclass |
coefficient |
number | no | Multiplier applied to the calc output. Default 1.0 |
pre_multiply_add |
number | no | Additive value applied before the coefficient. Default 0.0 |
post_multiply_add |
number | no | Additive value applied after the coefficient. Default 0.0 |
Returns: { ge_blueprint_path: string, modifier_index: int, modifier_count: int, magnitude_type: string, calculation_class: string, calculation_class_matches: bool, coefficient: number, pre_multiply_add: number, post_multiply_add: number, set: bool }
set_gameplay_effect_modifier_custom_curve¶
Destructive, idempotent.
Set the FinalLookupCurve (a CurveTable row) on a GE modifier whose magnitude is already CustomCalculationClass; the custom calc output is remapped through the curve
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
modifier_index |
number | yes | Index into the GE CDO Modifiers array; the modifier's magnitude must already be CustomCalculationClass (call set_gameplay_effect_modifier_custom first) |
curve_table_path |
string | yes | Full asset path of the UCurveTable holding the lookup row |
row_name |
string | yes | Name of the row within the CurveTable to use as the final lookup curve |
Returns: { ge_blueprint_path: string, modifier_index: int, modifier_count: int, magnitude_type: string, calculation_class: string, curve_table_path: string, curve_table_readback: string, curve_table_matches: bool, row_name: string, row_name_readback: string, row_name_matches: bool, row_exists: bool, set: bool }
set_gameplay_effect_modifier_set_by_caller¶
Destructive, idempotent.
Switch an existing GE modifier's magnitude to SetByCaller (resolved at runtime by tag/name)
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint |
modifier_index |
number | yes | Index into the GE CDO Modifiers array (add_gameplay_effect_modifier appends; 0 = first) |
data_tag |
string | no | Optional gameplay tag the caller uses to set the magnitude (modern path; must be a registered tag) |
data_name |
string | no | Optional legacy FName the caller uses to set the magnitude. At least one of data_tag/data_name is required |
Returns: { ge_blueprint_path: string, modifier_index: int, modifier_count: int, magnitude_type: string, data_tag: string, data_tag_valid: bool, data_name: string, set: bool }
set_gameplay_effect_period¶
Destructive, idempotent.
Set Period (seconds between periodic executions, 0 = not periodic) and bExecutePeriodicEffectOnApplication on the class default object of a GameplayEffect Blueprint, then save it without recompiling and without an undo entry. execute_on_application is always written, so leaving it out sets false. A non-GE Blueprint, a running PIE session or a read-only root fails before any edit. For damage or heal over time also give the effect a duration with set_gameplay_effect_duration; stacking is set_gameplay_effect_stacking.
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint. |
period_seconds |
number | yes | Period in seconds between executions (0 = non-periodic). |
execute_on_application |
boolean | no | Optional: if true the effect also executes immediately on application (default false). |
Returns: { ge_blueprint_path, period_seconds, period_readback_ok, execute_on_application, set }
set_gameplay_effect_stacking¶
Destructive, idempotent.
Set the stacking policy on a GameplayEffect CDO (StackingType + limit + refresh/reset policies).
| Parameter | Type | Required | Description |
|---|---|---|---|
ge_blueprint_path |
string | yes | Full asset path of the GE Blueprint. |
stacking_type |
string | yes | None | AggregateBySource | AggregateByTarget. |
stack_limit |
number | no | Optional max stack count (int; 0 = no limit). |
duration_refresh_policy |
string | no | Optional: RefreshOnSuccessfulApplication | NeverRefresh. |
period_reset_policy |
string | no | Optional: ResetOnSuccessfulApplication | NeverReset. |
Returns: { ge_blueprint_path, stacking_type, stack_limit, stacking_matches, set }
unregister_gameplay_tag_event¶
Destructive, idempotent.
Honestly unbinds a register_gameplay_tag_event subscription (UAbilitySystemComponent::UnregisterGameplayTagEvent, AbilitySystemComponent.h) using the real FDelegateHandle captured at register time, and removes it from the registry. Idempotent: an unknown/already-removed subscription_id is a success with removed:false, not an error.
| Parameter | Type | Required | Description |
|---|---|---|---|
subscription_id |
number | yes | subscription_id returned by register_gameplay_tag_event (required) |
Returns: { subscription_id: number, removed: bool, was_registered: bool, engine_unregister_ok: bool }