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.
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.
| 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 |
FGameplayEffectCustomExecutionParameters - passed into Execute_ImplementationEGameplayEffectAttributeCaptureSource - enum (Source or Target)EGameplayModOp::Type - enum (Add, Multiply, Divide, Override)