This is the calculation engine that automatically determines how fast attributes degenerate (drain over time) based on their current value. It allows you to create dynamic degeneration rates that change as the attribute increases or decreases - like hunger that drains slowly when you're full but faster when you're hungry.
When you configure an attribute to degenerate over time with curve-based scaling, this calculator:
You never interact with this class directly as a designer. The WCGASAttributeDegenerationSubsystem automatically uses this calculator when you configure curve-driven degeneration in your AttributeDefinition assets. The Gameplay Ability System calls it automatically whenever:
If you set up Hunger to degenerate at -1.0 per second with a curve that outputs 0.3 at 50% fullness, this calculator automatically computes: -1.0 × 0.3 = -0.3 per second when the character is half-full. If you design your curve so Y=0.1 when full (10% rate) and Y=1.0 when empty (100% rate), hunger will drain slowly after eating and accelerate as the character gets hungrier - all automatically without any code changes.