This runbook covers TODOS.phase-72.72.13.2.12: global game speed adjustment
from 0.5x to 1.0x for players who need more reaction time.
Runtime Surface#
Game speed adjustment is stored on the per-player timing profile so it uses the same startup restore path as timed puzzle, QTE, and dodge timing assists:
- profile:
FV2TimingAdjustmentProfile - resolved state:
FV2ResolvedTimingAdjustment - settings row:
Settings.Accessibility.GlobalGameSpeed - setter:
UV2InputBlueprintLibrary::SetGlobalGameSpeedScalar - scalar helper:
ResolveGlobalGameSpeedScalar - delta helper:
ResolveGlobalGameSpeedDeltaSeconds - persistence snapshot:
FV2PlayerSettingsSnapshot - contract:
V2/ue/Content/V2/Input/Accessibility/GameSpeedAdjustmentSystem_V2_Contract.json - focused checker:
V2/ue/Tools/check-v2-game-speed-adjustment.py
Behavior#
The setting is a 50-100 percent slider in 5 percent steps. It defaults to 100
percent, resolves to a GlobalGameSpeedScalar from 0.5x to 1.0x, and applies as
single-player world time dilation. Any value below 1.0x is opt-in,
ranked-disabled, tournament-restricted, saved per profile, and restored before
gameplay.
The scalar is frame-data inert: authored move data, dodge invulnerability, and competitive timing tables remain unchanged. Runtime consumers apply the resolved world-speed scalar to elapsed simulation time only in eligible single-player contexts.
Verification#
Run these checks after changing game speed adjustment:
python3 V2/ue/Tools/check-v2-game-speed-adjustment.py
python3 V2/ue/Tools/check-v2-timing-adjustment-system.py
python3 V2/ue/Tools/check-v2-input-module.py
python3 V2/ue/Tools/check-v2-settings-ui.py
python3 V2/ue/Tools/check-v2-accessibility-feature-set.py
python3 V2/ue/Tools/check-v2-profile-save-game.py
python3 V2/ue/Tools/check-v2-persistence-module.py
python3 V2/ue/Tools/check-v2-ui-module.py
python3 V2/ue/Tools/check-v2-ci-workflow.py
python3 V2/tools/validate-v2-docs.py
python3 -m json.tool V2/ue/Content/V2/Input/Accessibility/GameSpeedAdjustmentSystem_V2_Contract.json