Fighting Game · Guides & deep dives

V2 Screen Magnification

The screen magnification system lives in V2UI:

5sections1 minread

On this page

This runbook covers TODOS.phase-72.72.13.1.4: the V2UI screen magnification system that zooms into a portion of the screen with a moveable focus area.

Runtime Surface#

The screen magnification system lives in V2UI:

  • C++ header: V2/ue/Source/V2UI/Public/V2ScreenMagnification.h
  • C++ source: V2/ue/Source/V2UI/Private/V2ScreenMagnification.cpp
  • automation spec: V2/ue/Source/V2Tests/Private/UI/ScreenMagnification.spec.cpp
  • contract: V2/ue/Content/V2/UI/Accessibility/ScreenMagnification_V2_Contract.json
  • focused checker: V2/ue/Tools/check-v2-screen-magnification.py

FV2ScreenMagnification::BuildDefaultSettings returns enabled FV2ScreenMagnificationSettings with a 2.0x zoom factor, a normalized UI.Accessibility.Magnifier.FocusArea, keyboard/controller panning, HUD safe zone preservation, and screen-reader announcements for focus-area movement.

Zoom And Focus#

Supported zoom factors are 1.5x, 2.0x, 3.0x, and 4.0x. FV2ScreenMagnification::BuildMagnifiedViewport converts the normalized focus center into the source rect that should be magnified into the output viewport. FV2ScreenMagnification::MoveFocusArea applies normalized pan deltas and clamps the focus area so sampling stays inside the viewport.

Release Policy#

Screen magnification is valid only when it:

  • zooms into a bounded portion of the screen;
  • exposes a moveable focus area;
  • clamps the focus area and source rect to viewport bounds;
  • preserves aspect ratio and HUD safe zones;
  • supports keyboard/controller panning;
  • announces focus-area movement for screen readers;
  • uses smooth transitions.

Verification#

Run these checks after changing screen magnification:

bash
python3 V2/ue/Tools/check-v2-screen-magnification.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-screen-magnification.py V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/UI/Accessibility/ScreenMagnification_V2_Contract.json

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

Horde Gates#

  • screen-magnification-source
  • screen-magnification-zoom-factors
  • screen-magnification-moveable-focus-area
  • screen-magnification-viewport-clamping
  • screen-magnification-automation
  • screen-magnification-ci-wired