Overview
WCGASFeatComponent is a comprehensive ActorComponent that manages feat selection and progression for characters using the Gameplay Ability System. It automatically monitors leveling events, tracks feat pools, manages pending selections, and grants feat rewards. The component supports milestone-based feat triggers (character level and class level), multi-rank feats, prerequisite validation, sub-selection metadata (e.g., element choice for "Elemental Adept"), NPC auto-configuration, refund systems with dependency checking, prerequisite invalidation (temporarily disabling feats when prerequisites are lost), and save/load persistence.
Core Functionality
- Tracks granted feats on individual actors with rank, source, and selection metadata
- Manages feat pools via soft references with async loading
- Creates pending feat selections when milestones trigger (level-up, class bonus)
- Filters available feats by pool restrictions (race/class requirements), category, and prerequisites
- Supports multi-rank feats with stacking rewards
- Supports sub-selection feats requiring additional player input (e.g., element choice)
- Validates feat prerequisites including required feats, incompatible feats, attributes, tags, and more
- Tracks prerequisite invalidation (feats become inactive when prerequisites are lost)
- Provides refund safety queries (warns if refunding would break dependent feats)
- Grants feat rewards via ASC: abilities, passive effects, attribute bonuses, and gameplay tags
- Integrates with AbilityGrantRegistry to prevent duplicate ability grants across systems
- Supports NPC feat configuration for automatic feat grants on NPCs
- Tracks claimed milestones to prevent duplicate catch-up grants on save/load
- Replicates granted feats and pending selections to clients for UI display
- Supports comprehensive save/load persistence for granted feats, pending selections, and claimed milestones