Fighting Game · Guides & deep dives

V2 Reduced Motion Mode

The reduced motion mode profile lives in V2UI:

5sections1 minread

On this page

This runbook covers TODOS.phase-72.72.13.1.12: reduced motion mode for motion sensitivity, including disabled screen shake, reduced particle effects, and slower camera transitions.

Runtime Surface#

The reduced motion mode profile lives in V2UI:

  • C++ header: V2/ue/Source/V2UI/Public/V2ReducedMotionMode.h
  • C++ source: V2/ue/Source/V2UI/Private/V2ReducedMotionMode.cpp
  • automation spec: V2/ue/Source/V2Tests/Private/UI/ReducedMotionMode.spec.cpp
  • contract: V2/ue/Content/V2/UI/Accessibility/ReducedMotionMode_V2_Contract.json
  • focused checker: V2/ue/Tools/check-v2-reduced-motion-mode.py

FV2ReducedMotionMode::BuildDefaultProfile returns Accessibility.ReducedMotionMode.V2 for the Settings.Accessibility.ReducedMotion settings row.

Mode Policy#

The mode uses FV2UIAccessibilitySettings::bReducedMotion as the source of truth. When enabled, FV2ReducedMotionModeProfile::ResolveState returns a state that:

  • disables screen shake;
  • reduces particle effects to 50 percent or lower;
  • slows camera transitions with a longer duration multiplier and lower speed scale;
  • suppresses looping HUD motion;
  • suppresses hard cinematic camera cuts;
  • remains deterministic and frame-data inert through doesNotAlterFrameData.

When disabled, the resolved state preserves authored motion: screen shake stays enabled, particle intensity stays at 1.0, and camera transition speed and duration stay at authored values.

Settings Surface#

The default Settings Accessibility section exposes Reduced motion as a toggle with this description: "Disable screen shake, reduce particle effects, and slow camera transitions."

UV2UISubsystem::SetReducedMotionModeEnabled updates the shared accessibility setting, broadcasts OnAccessibilitySettingsChanged, and refreshes HUD slots so HUD presentation and broader reduced-motion state remain synchronized.

Verification#

Run these checks after changing reduced motion mode behavior:

bash
python3 V2/ue/Tools/check-v2-reduced-motion-mode.py
python3 V2/ue/Tools/check-v2-hud-accessibility-presentation.py
python3 V2/ue/Tools/check-v2-settings-ui.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 py_compile V2/ue/Tools/check-v2-reduced-motion-mode.py V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/UI/Accessibility/ReducedMotionMode_V2_Contract.json

Automation test name: V2.UI.Accessibility.ReducedMotionMode.AssetContract.

Horde Gates#

  • reduced-motion-mode-source
  • reduced-motion-mode-screen-shake
  • reduced-motion-mode-particles
  • reduced-motion-mode-camera-transitions
  • reduced-motion-mode-settings
  • reduced-motion-mode-automation
  • reduced-motion-mode-ci-wired