Purpose

This Blueprint Function Library provides read-only attribute simulation and preview without modifying live ASC state. It enables designers to show "what-if" scenarios for stat allocation, equipment comparison, and level-up previews by calculating direct changes and all cascading effects through dependency chains. Perfect for building informative UI tooltips that display attribute deltas (e.g., "Strength: 10 → 11 (+1), MaxHealth: 200 → 205 (+5)") before players commit to changes. Uses the same formula calculation logic as the live modification system for 100% accuracy.

Works In

Any Blueprint context with access to an Ability System Component (ASC) and World Context Object. Functions are pure read-only simulations that never create temporary effects or modify ASC state. Ideal for use in UI widgets (stat allocation panels, equipment tooltips, skill trees), inventory systems (gear comparison), character customization screens, and level-up menus. Works with WC GAS Ally's attribute registry and modification system to simulate cascading effects through multi-tier dependency chains.

Common Use Cases


Blueprint Name C++ Name Pins Brief Description of Purpose
Simulate Stat Increase SimulateStatIncrease Input: World Context, ASC, Attribute To Change, Delta Value (float)<br>Output: Out Result (Preview Result ref), Return (bool) Primary simulation function showing direct change and all cascading effects for single attribute modification
Simulate Multiple Stat Changes SimulateMultipleStatChanges Input: World Context, ASC, Pending Changes (TMap Tag→Float)<br>Output: Out Result (Preview Result ref), Return (bool) Batch simulation for multiple simultaneous stat changes with merged cascading effects
Compare Equipment CompareEquipment Input: World Context, ASC, Current Item Modifiers (TMap), New Item Modifiers (TMap)<br>Output: Out Result (Preview Result ref), Return (bool) Equipment comparison showing net attribute differences between currently equipped and new item
Can Simulate Attribute CanSimulateAttribute Input: World Context, ASC, Attribute Tag<br>Output: Return (bool) Validation check for UI to disable buttons when simulation would fail due to invalid attribute or ASC
Get Attribute Display Name For Preview GetAttributeDisplayNameForPreview Input: World Context, Attribute Tag<br>Output: Return (Text) Retrieves human-readable display name from definition for UI labels instead of tag path
Sort Preview Deltas SortPreviewDeltas Input: Result (Preview Result), Sort By Magnitude (bool)<br>Output: Return (Array of Preview Deltas) Sorts changed attributes by absolute magnitude (largest first) or alphabetically for cleaner UI layout
Filter Deltas By Category FilterDeltasByCategory Input: Result (Preview Result), Category Filter, Match Any (bool)<br>Output: Return (Array of Preview Deltas) Filters preview deltas to show only specific attribute categories (e.g., only Vital stats in tooltip)

Performance Notes

Common Pin Types