5.4 KiB
5.4 KiB
72 — BPC_AccessibilitySettings
Blueprint Spec — UE 5.5–5.7
Parent Class
ActorComponent
Dependencies
SS_SettingsManager— Reads accessibility settingsWBP_AccessibilityUI— UI integrationBPC_TutorialSystem— Tutorial accessibilityBPC_AudioManager— Audio accessibility
Purpose
Applies accessibility-focused modifications to the game based on user settings including colorblind modes, subtitle configuration, screen shake reduction, high-contrast UI, text-to-speech, reduced motion, and audio cue visualizations. Operates as a local player component that reads from SS_SettingsManager and applies changes at runtime.
Enums
EColorBlindMode
| Value | Description |
|---|---|
| None | Default colors |
| Protanopia | Red-blind filter |
| Deuteranopia | Green-blind filter |
| Tritanopia | Blue-blind filter |
ESubtitleSize
| Value | Description |
|---|---|
| Small | Default size |
| Medium | 150% size |
| Large | 200% size |
| ExtraLarge | 300% size |
EScreenShakeLevel
| Value | Description |
|---|---|
| Full | All screen shakes enabled |
| Reduced | 50% intensity cap |
| Minimal | 25% intensity cap |
| Off | No screen shake |
Variables
| Name | Type | Description |
|---|---|---|
ColorBlindMode |
EColorBlindMode | Current colorblind filter |
SubtitleSize |
ESubtitleSize | Subtitle text scale |
bHighContrastUI |
Bool | High contrast mode |
bTextToSpeech |
Bool | TTS for UI text |
bReducedMotions |
Bool | Disable UI animations |
bLargeText |
Bool | Enlarge all UI text |
ScreenShakeLevel |
EScreenShakeLevel | Camera shake intensity |
bVisualizeAudioCues |
Bool | Show audio direction indicators |
bAutoReadDialogue |
Bool | Auto-play dialogue subtitles |
bPauseOnDialogue |
Bool | Auto-pause during dialogue |
bDisableFlashEffects |
Bool | Prevent strobe/photosensitive effects |
Functions
| Name | Inputs | Outputs | Description |
|---|---|---|---|
Initialize |
— | — | Read settings, apply initial state |
SetColorBlindMode |
Mode: EColorBlindMode | — | Apply colorblind filter |
SetSubtitleSize |
Size: ESubtitleSize | — | Update subtitle scale |
SetHighContrastUI |
bEnabled: Bool | — | Toggle high contrast |
SetTextToSpeech |
bEnabled: Bool | — | Toggle TTS |
SetReducedMotions |
bEnabled: Bool | — | Toggle reduced motion |
SetLargeText |
bEnabled: Bool | — | Toggle large text |
SetScreenShakeLevel |
Level: EScreenShakeLevel | — | Update shake intensity |
SetVisualizeAudioCues |
bEnabled: Bool | — | Toggle audio visualization |
SetDisableFlashEffects |
bEnabled: Bool | — | Disable flashing effects |
ApplyColorBlindCorrection |
— | — | Post-process color matrix |
ApplyHighContrastMaterials |
— | — | Override UI material |
DisableFlashInVFX |
— | — | Remove strobe from VFXManager |
HandleDialogueAutoRead |
DialogueText: FText | — | TTS for dialogue |
ProvideAudioDirectionIndicator |
SoundLocation: FVector | — | Show direction arrow |
ReadUITextAloud |
Text: FText | — | TTS for UI elements |
Blueprint Flow
[Initialize]
└─► Read from SS_SettingsManager:
ColorBlindMode = GetSetting("ColorBlindMode")
SubtitleSize = GetSetting("SubtitleSize")
bHighContrastUI = GetSettingBool("HighContrastUI")
etc.
└─► ApplyColorBlindCorrection()
└─► ApplyHighContrastMaterials()
└─► Register callbacks for OnSettingChanged dispatcher
[ApplyColorBlindCorrection]
└─► Use UPostProcessComponent on player camera
└─► Set Color Grading LUT based on mode:
Protanopia: Shift red channel matrix
Deuteranopia: Shift green channel matrix
Tritanopia: Shift blue channel matrix
└─► Apply via PostProcessSettings.ColorGradingSettings
[ApplyHighContrastMaterials]
└─► Override all WBP widget materials with high-contrast versions
└─► Increase outline thickness on all interactive elements
└─► Increase font weight and contrast ratio
[DisableFlashInVFX]
└─► Call BPC_VFXManager.SetFearVFXEnabled(false) during flash sequences
└─► Remove strobe flicker from BPC_LightingManager fear-reactive lights
└─► Replace flash transitions with fade transitions
Communications With
| Target | Method | Why |
|---|---|---|
SS_SettingsManager |
Event | Settings changes |
BPC_VFXManager |
Get owner | Disable flash effects |
BPC_LightingManager |
Get owner | Disable flicker |
BPC_AudioManager |
Get owner | Audio cues |
BPC_TutorialSystem |
Direct call | Accessible tutorials |
Reuse Notes
- Color blindness correction uses post-process color grading matrix
- Subtitle scaling modifies URichTextBlock font size globally
- High contrast mode uses alternate widget styles
- Screen shake reduction caps camera shake intensity in player controller
- Visual audio cues use world-space widget arrows pointing to sound origin
- Flash effect disable also affects DynamicEvent light flicker