# Adaptive Difficulty System

Adaptive difficulty is an opt-in accessibility profile for single-player modes.
It observes local performance signals for deaths, retries, consecutive failures,
completion time against authored target time, and perfect clears, then resolves
a bounded difficulty step from `-2` to `+2`.

The profile id is `AI.AdaptiveDifficulty.PerPlayer.V2`. It persists per player,
applies during startup before gameplay, and is exposed through
`Settings.Accessibility.AdaptiveDifficulty` with `AdaptiveDifficulty.Off`,
`AdaptiveDifficulty.Assistive`, and `AdaptiveDifficulty.Balanced`.

`Assistive` can lower challenge or recover toward authored difficulty, but it
never raises challenge above authored defaults. `Balanced` can lower challenge
when the player is struggling and can raise challenge after repeated perfect or
fast completions. Off mode locks to manual authored difficulty.

Enabled modes are blocked in ranked and tournament play. The evaluator only
adjusts CPU skill delta, incoming damage scale, and encounter pacing scalar; it
does not alter authored frame data.

Implementation signoff lives in
`V2/ue/Content/V2/AI/Accessibility/AdaptiveDifficultySystem_V2_Contract.json`
and `V2/ue/Tools/check-v2-adaptive-difficulty-system.py`.
