This VPAT-style report maps V2 accessibility commitments to implemented feature
contracts, settings surfaces, and verification gates. The report is maintained
with the FV2AccessibilityFeatureSet contract and must be updated whenever a
feature is added, removed, renamed, or region-gated.
Scope#
The covered surfaces are in-game menus, HUD, subtitles, captions, input
rebinding, assist settings, online voice/text chat, cinematics, training and
loading flows, handheld/mobile-cloud battery profiles, and public-facing
settings documentation. Accessibility compliance testing through
AccessibilityComplianceTesting maps those surfaces to Xbox Accessibility
Guidelines and Game Accessibility Guidelines evidence.
Implemented Feature Coverage#
| Area | V2 coverage | Verification |
|---|---|---|
| Visual | Deuteranopia, Protanopia, Tritanopia, and Achromatopsia palettes; engine-level colorblind simulation shader at V2ColorblindSimulation.usf for post-process scene-color preview; accessibility-verified colorblind-safe palette alternatives through ColorblindSafePalette for all UI indicators with non-color fallbacks; high-contrast mode profile through HighContrastMode with interactive-object outlines and background simplification; screen magnification through ScreenMagnification with a moveable focus area; text scaling profile through TextScaling with a 0.5x-3.0x global multiplier and layout constraints; screen reader bridge through ScreenReaderBridge for UIAutomation, NSAccessibility, and TalkBack; camera shake intensity slider through CameraShakeIntensitySlider with 0-100% motion sensitivity control and default 100%; reduced-motion mode through ReducedMotionMode to disable screen shake, reduce particle effects, and slow camera transitions; photosensitivity filter through PhotosensitivityFilter for rapid flashing, strobe effects, and high-contrast flicker; font accessibility options through FontAccessibilityOptions with Default, Atkinson Hyperlegible, OpenDyslexic, and 0-50% letter spacing; accessibility settings persistence through AccessibilitySettingsPersistence for per-player startup restore before gameplay; max-5-flashes-per-second photosensitivity limiter; 1.5x, 2.0x, and 2.5x big text; OpenDyslexic and Atkinson Hyperlegible fonts; dark/light mode; eye-strain warm filter; high-contrast cursor/focus indicator |
FV2AccessibilityVisualConfig::IsValidConfig, V2.UI.Module, V2.UI.Accessibility.ColorblindSimulationShader.AssetContract, V2.UI.Accessibility.ColorblindSafePalette.AssetContract, V2.UI.Accessibility.HighContrastMode.AssetContract, V2.UI.Accessibility.ScreenMagnification.AssetContract, V2.UI.Accessibility.TextScaling.AssetContract, V2.UI.Accessibility.ScreenReaderBridge.AssetContract, V2.UI.Accessibility.CameraShakeIntensitySlider.AssetContract, V2.UI.Accessibility.ReducedMotionMode.AssetContract, V2.UI.Accessibility.PhotosensitivityFilter.AssetContract, V2.UI.Accessibility.FontAccessibilityOptions.AssetContract, V2.UI.Accessibility.AccessibilitySettingsPersistence.AssetContract |
| Captions and descriptions | Subtitle rendering through SubtitleRenderingSystem with speaker identification, directional indicators, non-verbal captions such as [explosion], background color/opacity options, and size scaling; closed caption authoring through ClosedCaptionAuthoringTool for [door creaks], [thunder], and [enemy grunts]; subtitle size/background/speaker tags, commentary subtitle toggle, crowd/SFX/cinematic closed captions, sign-language overlay locales, audio description track, per-locale subtitle background opacity |
FV2AccessibilitySubtitleCaptionConfig::IsValidConfig, V2.UI.Module, V2.UI.Accessibility.SubtitleRenderingSystem.AssetContract, V2.UI.Accessibility.ClosedCaptionAuthoringTool.AssetContract |
| Audio and haptics | Mono audio, per-ear balance, tinnitus-friendly ducking, combat cue set, directional visual sound indicators through VisualSoundIndicators for off-screen gunfire, footsteps, and environmental hazards; audio feedback duplication through AudioFeedbackDuplication with screen flash for damage and controller vibration for events; visual cue pairing, haptic cue pairing, muted-audio haptic translation, subwoofer pulse companion |
FV2AccessibilityAudioHapticConfig::IsValidConfig, V2.UI.Module, V2.UI.Accessibility.VisualSoundIndicators.AssetContract, V2.UI.Accessibility.AudioFeedbackDuplication.AssetContract |
| Motor and cognitive assists | Full rebinding, global input remapping through GlobalInputRemapping for any game action to any input on any device with per-player persistence, hold-to-toggle conversion through HoldToToggleConversion for any hold action including hold-to-aim to toggle-aim and hold-to-sprint to toggle-sprint with per-player startup restore, accessibility preset profiles through AccessibilityPresetProfiles for one-click vision, hearing, motor, and cognitive setup, auto-aim assist through AutoAimAssist with off/low/medium/high/lock-on strengths controlled separately for camera and aim, one-handed control schemes through OneHandedControlSchemes with full 33-action gameplay coverage for left-hand-only and right-hand-only controller use plus per-player startup restore, QTE alternatives through QTEAlternatives with off/hold-button/auto-complete story choices plus per-player startup restore, puzzle skip through PuzzleSkipOption, objective clarity through ObjectiveClaritySystem for clear waypoints, highlighted interactables, simplified quest descriptions, and screen-reader objective summaries, tutorial replay through TutorialReplaySystem for replaying every interactive lesson from menus at any time without first-encounter gates, timing adjustments through TimingAdjustmentSystem for timed puzzle extensions, QTE window slowdown, dodge input grace, and 0.5x-1.0x global game speed with per-player startup restore, sequential combo input through SequentialComboInput for replacing simultaneous combo chords with ordered two-button or all-combo alternatives while preserving authored move outcomes, adaptive difficulty through AdaptiveDifficultySystem using deaths, retries, and completion time with per-player startup restore, single-button special macros, ranked-disabled assist policy, hold-to-press toggles, auto-block/auto-parry/auto-tech, single-player slowdown, rubber-banding, tutorial-on-demand, pause-anywhere, practice-during-loading, quick restart, auto-pace, Fight Fundamentals onboarding, step-down difficulty |
FV2AccessibilityMotorAssistConfig::IsValidConfig, V2.UI.Module, V2.Input.Module, V2.Modes.Module, V2.Persistence.ProfileSave.AssetContract |
| Hardware input | PlayStation Access Controller, Logitech Adaptive Gaming Kit, Xbox Adaptive Controller with Input.Mapping.XboxAdaptiveController.V2, Hardware.Compatibility.XboxAdaptiveController.V2, external switch ports, neutral SOCD, and adaptive-hub tutorial glyphs, Hori/Hori Mini/Hori Octa, 8BitDo, Razer Kitsune, Victrix Pro FS, MadCatz MK1 Fightstick, keyboard/mouse negative edge, configurable SOCD, hitbox/stickless legality, eye tracking menu assist |
FV2AccessibilityHardwareInputConfig::IsValidConfig, V2.UI.Module |
| Voice and CVAA | Opt-in voice-command navigation, visual confirmation, platform STT or local Whisper tiny path, voice dictation for chat, profanity override, voice emotes, party speech-to-text captions, CVAA compliance gate | FV2AccessibilityVoiceCvaaConfig::IsValidConfig, V2.UI.Module |
| Documentation and preview | Setup-screen preview, per-feature short videos, settings test wizard, tutorial replay library, per-fighter motion-input tutorial from character select | FV2AccessibilityDocumentationVerificationConfig::IsValidConfig, check-v2-accessibility-feature-set.py |
| Battery and thermal | Handheld/mobile-cloud 30 FPS battery profile, reduced VFX/ambient/crowd density, auto-toggle at 20 percent battery, thermal frame-rate clamp, sustained-throttle HUD warning, user override, cooling throttle telemetry, charging-state-aware perf cap lift | FV2AccessibilityBatteryThermalConfig::IsValidConfig, V2.UI.Module |
Product Rules#
- Any assist that changes defensive execution, macro execution, game speed, or CPU behavior disables ranked eligibility unless the assist is explicitly certified as gameplay-inert.
PuzzleSkipOptionis opt-in, story-only, and offers a confirmed narrative summary skip after configured attempts or elapsed time while preserving rewards and remaining blocked in ranked or tournament play.ObjectiveClaritySystemis opt-in, quest/story scoped, and only changes UI guidance for clear waypoints, highlighted interactables, simplified descriptions, and screen-reader objective summaries.TutorialReplaySystemexposes every interactive tutorial lesson from main menu and single-player pause menu paths, bypasses first-encounter gates, and does not reset profile progress.- The photosensitivity limiter applies to KO slow motion, X-Ray cinematics, and lightning-style VFX before content review signoff.
- Every audio-only gameplay cue must have a paired visual and haptic cue.
- The sign-language overlay is default off and opt-in per account.
- CVAA voice/text-chat support must be validated per platform before release.
- Battery and thermal overrides must disclose the risk before allowing sustained throttle override.
Release Gate#
Accessibility changes pass when:
python3 V2/ue/Tools/check-v2-accessibility-feature-set.pypasses;python3 V2/ue/Tools/check-v2-accessibility-compliance-testing.pypasses;V2.UI.Moduleautomation passes;- docs validation passes;
- settings QA verifies preview/try-it, focus visibility, text scaling, and no-overlap layouts for default, large-text, and high-contrast states;
- platform QA validates adaptive-controller and voice/chat compliance paths for the target platform set.