Purpose

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.

Works In

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.

Common Use Cases


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

Performance Notes

Common Pin Types