This Blueprint Function Library provides tag-based attribute persistence without forcing a specific save system implementation. It extracts WC GAS Ally attribute data into Blueprint-friendly structures that can be serialized by any save system (SaveGame, JSON, binary, cloud storage), and restores attribute values with comprehensive validation, GUID fallback for renamed attributes, and automatic default value injection for version migration. Enables designers to implement save/load, checkpoints, analytics, and cheat detection entirely in Blueprints.
Any Blueprint context with access to an Ability System Component (ASC). This library integrates with your existing save system by providing capture/restore functions that operate on serializable structs (FWCGASAttributeSaveData). Functions are available in SaveGame Blueprints, PlayerController/GameMode save logic, GameInstance persistence systems, and any other Blueprint class handling save/load operations. Works with WC GAS Ally's attribute registry to provide tag-based snapshot and restoration.
| Blueprint Name | C++ Name | Pins | Brief Description of Purpose |
|---|---|---|---|
| Capture Attribute Snapshot | CaptureAttributeSnapshot |
Input: ASC, Mode (enum), Exclude Meta Attributes (bool)<br>Output: Return (Save Data) | Captures all registered attributes into serializable save data struct ready for any save system |
| Capture Attributes By Category | CaptureAttributesByCategory |
Input: ASC, Category Tags, Match Any (bool), Mode (enum), Exclude Meta Attributes (bool)<br>Output: Return (Save Data) | Selective capture filtered by gameplay tag categories for multi-tier save systems |
| Capture Specific Attributes | CaptureSpecificAttributes |
Input: ASC, Attribute Tags (array), Mode (enum)<br>Output: Return (Save Data) | Fine-grained capture of explicitly specified attributes by tag for checkpoints or analytics |
| Restore Attribute Snapshot | RestoreAttributeSnapshot |
Input: ASC, Save Data, Restore Mode (enum), Clamp Mode (enum)<br>Output: Return (Restore Result) | Primary restore function with validation, GUID fallback, and detailed diagnostic reporting |
| Restore With Defaults | RestoreWithDefaults |
Input: ASC, Save Data, Restore Mode (enum), Clamp Mode (enum), Use Definition Defaults For Missing (bool)<br>Output: Return (Restore Result) | Restore with automatic default value injection for missing attributes to handle version migration |
| Validate Save Data | ValidateAttributeSaveData |
Input: Save Data<br>Output: Out Error Message (Text), Return (bool) | Pre-restore validation checking for NaN, Infinite, invalid tags, and corrupt data |
| Compare Snapshots | CompareSnapshots |
Input: Snapshot A, Snapshot B<br>Output: Return (Snapshot Diff) | Calculates deltas between two snapshots for debugging, analytics, and cheat detection |
| Convert Save Data To JSON | ConvertSaveDataToJSON |
Input: Save Data<br>Output: Return (String) | Serializes save data to JSON string for text-based save systems or cloud storage |
| Convert JSON To Save Data | ConvertJSONToSaveData |
Input: JSON String<br>Output: Return (Save Data) | Deserializes JSON string back to save data struct for loading text-based saves |
ValidateAttributeSaveData pre-restore for early error detectionUAbilitySystemComponent* - The Ability System Component to capture from or restore toFWCGASAttributeSaveData - Blueprint-friendly struct containing captured attribute values with GUIDs and metadata