Purpose

This Blueprint Function Library provides designers with comprehensive tag-based attribute access and manipulation without requiring C++ knowledge. It abstracts the WC GAS Ally attribute system's registry and definition system, enabling designers to get/set attribute values, access attribute metadata, perform attribute comparisons, and format attributes for UI display entirely through gameplay tags in visual scripting.

Works In

Any Blueprint context where you have access to an Ability System Component (ASC) and World Context Object. This library works with the WC GAS Ally attribute registry system to provide runtime attribute operations using gameplay tags (e.g., "Attribute.Vital.Health"). Functions are available in Blueprint graphs including Event Graphs, Functions, and Macros for Actors, ActorComponents, Widgets, and Subsystems.

Common Use Cases


Blueprint Name C++ Name Pins Brief Description of Purpose
Get Attribute Value (By Tag) GetAttributeValueByTag Input: World Context, ASC, Attribute Tag<br>Output: Return (float) Gets current attribute value including all modifiers using gameplay tag lookup
Get Attribute Base Value (By Tag) GetAttributeBaseValueByTag Input: World Context, ASC, Attribute Tag<br>Output: Return (float) Gets attribute base value before modifiers are applied using gameplay tag lookup
Set Attribute Base Value (By Tag) SetAttributeBaseValueByTag Input: World Context, ASC, Attribute Tag, New Value<br>Output: None Sets attribute base value using gameplay tag lookup without affecting modifiers
Does Attribute Exist DoesAttributeExist Input: World Context, Attribute Tag<br>Output: Return (bool) Validates if an attribute tag is registered in the WC GAS Ally registry
Get Attribute Definition (By Tag) GetAttributeDefinitionByTag Input: World Context, Attribute Tag<br>Output: Return (Attribute Definition) Retrieves full attribute definition data asset containing display name, icon, clamping rules, etc.
Get All Attributes GetAllAttributes Input: World Context<br>Output: Return (Array of Attribute Definitions) Returns all registered attributes sorted by SortPriority for dynamic UI generation
Get Attributes By Category GetAttributesByCategory Input: World Context, Category Tags, Match Any (bool)<br>Output: Return (Array of Attribute Definitions) Filters and returns attributes matching category tags (e.g., "Attribute.Type.Vital")
Get Gameplay Attribute (By Tag) GetGameplayAttributeByTag Input: World Context, Attribute Tag<br>Output: Return (FGameplayAttribute) Converts attribute tag to FGameplayAttribute struct for use in native GAS functions
Format Attribute Value GetFormattedAttributeValue Input: Attribute Definition, Value (float)<br>Output: Return (Text) Formats attribute value using definition's DisplayFormat string (e.g., "{0:F0}", "{0:F1}%") for UI display
Get Attribute Display Name GetAttributeDisplayName Input: Attribute Definition<br>Output: Return (Text) Extracts localized display name from attribute definition for UI labels
Get Attribute Icon GetAttributeIcon Input: Attribute Definition<br>Output: Return (Texture2D) Extracts icon texture from attribute definition for UI representation
Get Attribute Display Color GetAttributeDisplayColor Input: Attribute Definition<br>Output: Return (Linear Color) Extracts UI color from attribute definition for visual theming
Get Attribute Percentage GetAttributePercentage Input: World Context, ASC, Attribute Tag, Max Attribute Tag<br>Output: Return (float) Calculates ratio between attribute and its max (e.g., Health/MaxHealth) as 0.0-1.0 for progress bars
Is Attribute At Max IsAttributeAtMax Input: World Context, ASC, Attribute Tag, Max Attribute Tag, Tolerance (float)<br>Output: Return (bool) Checks if attribute equals or exceeds its maximum value within floating point tolerance

Performance Notes

Common Pin Types