Fighting Game · Guides & deep dives

V2 Photosensitivity Filter

The photosensitivity filter profile lives in V2UI:

4sections1 minread

On this page

This runbook covers TODOS.phase-72.72.13.1.13: the photosensitivity filter for rapid flashing, strobe effects, and high-contrast flickering.

Runtime Surface#

The photosensitivity filter profile lives in V2UI:

  • C++ header: V2/ue/Source/V2UI/Public/V2PhotosensitivityFilter.h
  • C++ source: V2/ue/Source/V2UI/Private/V2PhotosensitivityFilter.cpp
  • automation spec: V2/ue/Source/V2Tests/Private/UI/PhotosensitivityFilter.spec.cpp
  • contract: V2/ue/Content/V2/UI/Accessibility/PhotosensitivityFilter_V2_Contract.json
  • focused checker: V2/ue/Tools/check-v2-photosensitivity-filter.py

FV2PhotosensitivityFilter::BuildDefaultProfile returns Accessibility.PhotosensitivityFilter.V2 for PostProcess.Accessibility.PhotosensitivityFilter.

Filter Policy#

The filter applies before post process and content review signoff. It covers RapidFlashing, StrobeEffects, HighContrastFlicker, LightningVFX, and KOXRay targets.

The release profile:

  • clamps rapid flashing to 3 flashes per second or lower;
  • suppresses authored strobe effects;
  • reduces high-contrast flicker by scaling contrast deltas;
  • reduces luminance deltas for lightning VFX and KO X-Ray moments;
  • remains deterministic for gameplay and replay consistency.

FV2PhotosensitivityFilterProfile::ApplyFilter returns an FV2PhotosensitivityFilterResult with filtered flash rate, luminance delta, contrast delta, strobe suppression, rapid-flashing reduction, and high-contrast-flicker reduction.

Verification#

Run these checks after changing photosensitivity filtering:

bash
python3 V2/ue/Tools/check-v2-photosensitivity-filter.py
python3 V2/ue/Tools/check-v2-accessibility-feature-set.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-photosensitivity-filter.py V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/UI/Accessibility/PhotosensitivityFilter_V2_Contract.json

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

Horde Gates#

  • photosensitivity-filter-source
  • photosensitivity-filter-flash-rate
  • photosensitivity-filter-strobe
  • photosensitivity-filter-flicker
  • photosensitivity-filter-lightning-ko
  • photosensitivity-filter-automation
  • photosensitivity-filter-ci-wired