3.5 KiB
3.5 KiB
WBP_SettingsMenu — Widget (Settings Menu)
Parent: UUserWidget
Used by: SS_UIManager.PushMenu("SettingsMenu")
Depends On: SS_UIManager, SS_SettingsSystem
Purpose
Full settings screen with sections: Audio, Video/Graphics, Gameplay, Controls, Accessibility.
Enums (local or global)
E_SettingsTab
{
Audio,
Video,
Gameplay,
Controls,
Accessibility
}
Variables
| Name | Type | Description |
|---|---|---|
ActiveTab |
E_SettingsTab |
Currently visible tab |
TabButtons |
Array of Button |
Tab navigation buttons |
TabPanels |
Array of PanelWidget |
Tab content panels |
Audio Tab Children:
| Name | Type | Description |
|---|---|---|
MasterVolumeSlider |
Slider |
0-100 |
SFXVolumeSlider |
Slider |
0-100 |
MusicVolumeSlider |
Slider |
0-100 |
VoiceVolumeSlider |
Slider |
0-100 |
SubtitlesToggle |
CheckBox |
On/Off |
Video Tab Children:
| Name | Type | Description |
|---|---|---|
ResolutionDropdown |
ComboBoxString |
Available resolutions |
WindowModeDropdown |
ComboBoxString |
Fullscreen, Windowed, Borderless |
VSyncToggle |
CheckBox |
On/Off |
QualityPresetDropdown |
ComboBoxString |
Low, Medium, High, Epic |
BrightnessSlider |
Slider |
0.5-2.0 gamma |
Gameplay Tab Children:
| Name | Type | Description |
|---|---|---|
InvertYAxisToggle |
CheckBox |
On/Off |
SensitivitySlider |
Slider |
Mouse sensitivity 0.1-5.0 |
HoldDurationToggle |
CheckBox |
Tap vs Hold for interactions |
AutoPickupToggle |
CheckBox |
On/Off |
CrosshairToggle |
CheckBox |
Show crosshair |
Controls Tab Children:
| Name | Type | Description |
|---|---|---|
ActionMappingsList |
ListView |
Key binding rows |
ResetDefaultsButton |
Button |
Reset all bindings |
Accessibility Tab Children:
| Name | Type | Description |
|---|---|---|
SubtitleSizeDropdown |
ComboBoxString |
Small, Medium, Large |
SubtitleBackgroundOpacity |
Slider |
0-100% |
ColorblindModeDropdown |
ComboBoxString |
None, Protanopia, Deuteranopia, Tritanopia |
HighContrastUIToggle |
CheckBox |
On/Off |
CameraShakeIntensity |
Slider |
0-100% |
MotionBlurToggle |
CheckBox |
On/Off |
Functions
| Name | Inputs | Outputs | Description |
|---|---|---|---|
OnConstruct |
— | — | Populate dropdowns from system, load saved settings |
SwitchTab |
Tab: E_SettingsTab |
— | Show selected panel, hide others |
OnSettingChanged |
SettingName: FName, Value: Generic | — | Write to SS_SettingsSystem |
SaveSettings |
— | — | SS_SettingsSystem.SaveToDisk |
ApplyVideoSettings |
— | — | Apply resolution, window mode, quality |
ResetToDefaults |
— | — | Load default values, re-populate UI |
OnBack |
— | — | SaveSettings, SS_UIManager.PopMenu |
RebindKey |
ActionName: FName | — | Listen for next key press, map to action |
Communications With
| Target System | Method | Why |
|---|---|---|
SS_UIManager |
Push/Pop | Menu lifecycle |
SS_SettingsSystem |
Function calls | Read/write settings |
Reuse Notes
- The tab panel pattern can be extended for mod settings or developer menus by adding new tab entries
- Split from original bundled
36_WBP_MenuWidgets.mdper Clean Slate refactoring plan