Fighting Game · Guides & deep dives

V2 Camera Shake Intensity Slider

The camera shake intensity profile lives in V2UI:

5sections1 minread

On this page

This runbook covers TODOS.phase-72.72.13.1.11: a camera shake intensity slider for motion sensitivity, with a 0-100 percent range and a default of 100 percent.

Runtime Surface#

The camera shake intensity profile lives in V2UI:

  • C++ header: V2/ue/Source/V2UI/Public/V2CameraShakeIntensitySlider.h
  • C++ source: V2/ue/Source/V2UI/Private/V2CameraShakeIntensitySlider.cpp
  • automation spec: V2/ue/Source/V2Tests/Private/UI/CameraShakeIntensitySlider.spec.cpp
  • contract: V2/ue/Content/V2/UI/Accessibility/CameraShakeIntensitySlider_V2_Contract.json
  • focused checker: V2/ue/Tools/check-v2-camera-shake-intensity-slider.py

FV2CameraShakeIntensitySlider::BuildDefaultProfile returns Accessibility.CameraShakeIntensity.V2 for the Settings.Accessibility.CameraShakeIntensity settings row.

Slider Policy#

The default Accessibility settings screen exposes Camera shake as a slider:

  • minimum: 0 percent;
  • maximum: 100 percent;
  • step: 5 percent;
  • default: 100 percent.

The setting is stored on FV2UIAccessibilitySettings as CameraShakeIntensityPercent. Normalize clamps and rounds the value to the nearest supported step, and GetCameraShakeIntensityMultiplier resolves it to a 0.0-1.0 multiplier.

Runtime Resolution#

FV2CameraShakeIntensityProfile::ResolveShakeIntensity scales authored camera shake intensity without amplification. A slider value of 0 percent resolves to zero shake and disables camera shake playback. The resolution is marked gameplay-deterministic and frame-data inert through doesNotAffectHitStopFrameData so hit stop, frame data, and ranked simulation are unaffected.

Required source coverage includes CombatHit, EnvironmentalImpact, VehicleImpact, Cinematic, and UIImpact shake sources.

Verification#

Run these checks after changing camera shake intensity slider behavior:

bash
python3 V2/ue/Tools/check-v2-camera-shake-intensity-slider.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-camera-shake-intensity-slider.py V2/ue/Tools/check-v2-settings-ui.py V2/ue/Tools/check-v2-ci-workflow.py
python3 -m json.tool V2/ue/Content/V2/UI/Accessibility/CameraShakeIntensitySlider_V2_Contract.json
python3 -m json.tool V2/ue/Content/V2/UI/Settings/SettingsScreen_V2_Contract.json

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

Horde Gates#

  • camera-shake-intensity-slider-source
  • camera-shake-intensity-slider-range
  • camera-shake-intensity-slider-default
  • camera-shake-intensity-slider-settings-row
  • camera-shake-intensity-slider-resolution
  • camera-shake-intensity-slider-automation
  • camera-shake-intensity-slider-ci-wired