Fighting Game · Guides & deep dives

V2 Text Scaling

The text scaling system lives in V2UI:

5sections1 minread

On this page

This runbook covers TODOS.phase-72.72.13.1.5: the V2UI text scaling system that provides a global UI text size multiplier from 0.5x to 3.0x while respecting layout constraints.

Runtime Surface#

The text scaling system lives in V2UI:

  • C++ header: V2/ue/Source/V2UI/Public/V2TextScaling.h
  • C++ source: V2/ue/Source/V2UI/Private/V2TextScaling.cpp
  • automation spec: V2/ue/Source/V2Tests/Private/UI/TextScaling.spec.cpp
  • contract: V2/ue/Content/V2/UI/Accessibility/TextScaling_V2_Contract.json
  • focused checker: V2/ue/Tools/check-v2-text-scaling.py

FV2TextScaling::BuildDefaultSettings returns Accessibility.TextScaling.V2, a global text scaling profile with supported multipliers of 0.5x, 0.75x, 1.0x, 1.25x, 1.5x, 2.0x, 2.5x, and 3.0x. FV2UIAccessibilitySettings::TextScale also accepts the 0.5x-3.0x range.

Required Surfaces#

The profile must include layout rules for:

  • UI.Text.HUD
  • UI.Text.Menus
  • UI.Text.Dialogue
  • UI.Text.Subtitles
  • UI.Text.QuestTracker
  • UI.Text.Notifications
  • UI.Text.Buttons

Each FV2TextScalingLayoutRule provides surface-specific minimum readable font size, minimum container width, maximum line length, wrapping, responsive layout, hit-target preservation, overlap prevention, and safe-zone behavior.

Release Policy#

Text scaling is valid only when it:

  • exposes one global UI text size multiplier;
  • clamps scale to 0.5x through 3.0x;
  • reflows containers at scaled sizes;
  • wraps text at large scales;
  • preserves button hit targets;
  • prevents text overlap;
  • respects HUD safe zones and constrained layouts.

Verification#

Run these checks after changing text scaling:

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

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

Horde Gates#

  • text-scaling-source
  • text-scaling-global-multiplier
  • text-scaling-scale-range
  • text-scaling-layout-constraints
  • text-scaling-automation
  • text-scaling-ci-wired