Purpose

This Blueprint Function Library enables designers to create Blueprint-based Execution Calculations (ExecCalcs) without requiring C++ programming. It exposes the core functionality of the Gameplay Ability System's execution calculation framework to Blueprints, allowing designers to implement custom damage formulas, attribute modifications, and complex gameplay effect calculations entirely in visual scripting.

Works In

Blueprint-based Execution Calculation classes that inherit from GameplayEffectExecutionCalculation. These are used within Gameplay Effects (specifically Instant effects) to perform complex attribute calculations at the moment of application. The library provides functions that operate on FGameplayEffectCustomExecutionParameters and FGameplayEffectCustomExecutionOutput structures passed into the Execute event of Blueprint ExecCalcs.

Common Use Cases


Blueprint Name C++ Name Pins Brief Description of Purpose
Get Source Attribute By Tag GetSourceAttributeByTag Input: Execution Params, Attribute Tag<br>Output: Out Value (float), Return (bool) Fast retrieval of pre-captured Source (attacker) attribute using gameplay tag from the GAS pre-captured pool
Get Target Attribute By Tag GetTargetAttributeByTag Input: Execution Params, Attribute Tag<br>Output: Out Value (float), Return (bool) Fast retrieval of pre-captured Target (defender) attribute using gameplay tag from the GAS pre-captured pool
Get Dynamic Attribute Magnitude GetDynamicAttributeMagnitude Input: Execution Params, Attribute To Capture, Capture Source, Match Snapshot<br>Output: Out Magnitude (float), Return (bool) Slower dynamic capture of attribute magnitude with flexible snapshot matching at runtime
Get Dynamic Attribute Base Value GetDynamicAttributeBaseValue Input: Execution Params, Attribute To Capture, Capture Source, Match Snapshot<br>Output: Out Base Value (float), Return (bool) Get captured attribute base value before any modifiers are applied
Get Dynamic Attribute Bonus Magnitude GetDynamicAttributeBonusMagnitude Input: Execution Params, Attribute To Capture, Capture Source, Match Snapshot<br>Output: Out Bonus Magnitude (float), Return (bool) Get captured attribute bonus magnitude calculated as (current - base)
Get Precaptured Attribute Magnitude GetPrecapturedAttributeMagnitude Input: Execution Params, Attribute To Capture, Capture Source<br>Output: Out Magnitude (float), Return (bool) Fast retrieval of attributes captured via RelevantAttributesToCapture array at effect creation time
Get Precaptured Attribute Base Value GetPrecapturedAttributeBaseValue Input: Execution Params, Attribute To Capture, Capture Source<br>Output: Out Base Value (float), Return (bool) Get precaptured attribute base value from RelevantAttributesToCapture array before modifiers
Get Precaptured Attribute Bonus Magnitude GetPrecapturedAttributeBonusMagnitude Input: Execution Params, Attribute To Capture, Capture Source<br>Output: Out Bonus Magnitude (float), Return (bool) Get precaptured attribute bonus magnitude (current - base) from RelevantAttributesToCapture array
Add Output Modifier AddOutputModifier Input: Out Execution Output (ref), Attribute To Modify, Modifier Op, Magnitude<br>Output: Return (Execution Output ref) Adds an output modifier to apply effects to target attributes (Add, Multiply, Divide, Override operations)
Get Base Damage From Spec GetBaseDamageFromSpec Input: Execution Params<br>Output: Out Damage (float), Return (bool) Reads base damage value from SetByCaller tag (Data.Damage) for Blueprint ExecCalcs

Performance Notes

Common Pin Types