Files
UE5-Modular-Game-Framework/docs/blueprints/06-ui/WBP_AllWidgets_QuickSheet.asset.md
Lefteris Notas 3ca87a7893 Add asset creation sheets for various systems and UI components
- Created Save/Load & Death Loop asset sheet detailing checkpoint, death handling, and respawn systems.
- Added UI widget creation sheets for pause menu, settings menu, inventory, journal viewer, objective display, notification toast, screen effect controller, accessibility UI, diegetic HUD frame, menu flow controller, and credits screen.
- Implemented HUD controller and interaction prompt display assets with detailed wiring instructions.
- Established narrative systems asset sheet including components for narrative state, objectives, dialogue playback, and branching consequences.
- Developed weapons, AI, and adaptive systems asset creation sheet outlining weapon base, enemy AI components, and adaptive gameplay mechanics.
- Compiled meta, settings, and polish asset creation sheet covering progress tracking, achievement systems, accessibility settings, and various polish components.
- Defined input actions and mapping contexts for enhanced input system, including gameplay actions and context priorities.
- Created state management assets including enums, structs, data asset, and state manager component for action gating and state transitions.
2026-05-20 15:34:06 +03:00

4.9 KiB

WBP_PauseMenu / WBP_SettingsMenu / WBP_InventoryMenu

WBP_JournalDocumentViewer / WBP_ObjectiveDisplay

WBP_NotificationToast / WBP_ScreenEffectController

WBP_AccessibilityUI / WBP_DiegeticHUDFrame

WBP_MenuFlowController / WBP_CreditsScreen

UI Widget Assets — Quick Creation Sheet (11 widgets)

UE5 Path: Content/Framework/UI/ Parent Class: UserWidget


WBP_PauseMenu

Canvas: Vertical Box (centered) → Resume, Settings, Save, Load, Quit to Menu, Quit to Desktop

Key Logic:

Event Construct:
  └─ Set Input Mode: UI + ShowCursor

btn_Resume.OnClicked:
  └─ Call SS_UIManager.PopWidget() → Set Input Mode: Game

WBP_SettingsMenu

Canvas: Tab buttons (Audio, Video, Controls, Gameplay, Accessibility) + settings panels

Key Logic:

Audio Tab → Volume sliders → SS_AudioManager.SetBusVolume(Category, Volume)
Video Tab → Resolution dropdown, Fullscreen toggle, Quality presets
Controls Tab → Key rebinding list → SS_EnhancedInputManager.RebindKey(Action, Key)
Gameplay Tab → Difficulty, subtitle toggle, aim assist
Accessibility Tab → WBP_AccessibilityUI embedded

On Apply → SaveSettings → SS_SettingsSystem.ApplyAndSave()
On Back → If dirty → "Save changes?" dialog

WBP_InventoryMenu

Canvas: Grid panel (8 columns) + item detail panel on right + weight bar at bottom

Key Logic:

Event Construct:
  ├─ Get Pawn → BPC_InventorySystem → Bind OnInventoryChanged → RefreshGrid
  └─ Bind OnWeightChanged → UpdateWeightBar

RefreshGrid:
  ├─ Clear Grid children
  └─ For each slot → Create WBP_InventorySlot widget → Add to Grid

OnSlotClicked(SlotIndex):
  ├─ If dragging → SwapSlots
  ├─ If right-click → ShowContextMenu (Use, Equip, Drop, Examine)
  └─ Show item detail in right panel

WBP_JournalDocumentViewer

Canvas: ScrollBox with document entries + detail view on right

Key Logic:

Construct → BPC_DocumentArchiveSystem → GetAllDocuments()
  └─ For each doc → create list item → on click → show full text + image

WBP_ObjectiveDisplay

Canvas: Vertical Box (top-right) — list of active objectives

Key Logic:

Bind GS_CoreGameState.OnObjectiveTagsChanged → Refresh
  └─ For each ActiveObjectiveTag → lookup DA_ObjectiveData → show title + progress

WBP_NotificationToast

Canvas: Border (top-center, slides in/out) → Icon + Title + Subtitle

Key Logic:

ShowToast(Title, Subtitle, Icon, Duration):
  ├─ Set text
  ├─ Play SlideIn animation
  └─ Delay(Duration) → Play SlideOut → Remove from parent

WBP_ScreenEffectController

Canvas: Full-screen overlay images (vignette, blood, healing, flash)

Key Logic:

PlayEffect(EffectType, Intensity, Duration):
  ├─ Switch EffectType
  │   Damage → Show red vignette, fade to Intensity
  │   Healing → Show green edge glow
  │   Death → Show black fade
  │   Flash → Show white screen
  └─ Timeline: fade in, hold, fade out

Bind BPC_HealthSystem.OnHealthChanged → if damage → PlayEffect(Damage)

WBP_AccessibilityUI

Canvas: Toggles and sliders for accessibility options

Controls:

  • Subtitles: On/Off + size slider
  • Colorblind Mode: Off/Protanopia/Deuteranopia/Tritanopia
  • Controller Remap: Per-platform button mapping
  • Difficulty: Story/Easy/Normal/Hard/Nightmare
  • Aim Assist: Off/Low/Medium/High

On change → call SS_SettingsSystem.SaveAccessibilitySettings()


WBP_DiegeticHUDFrame

Canvas: Empty container that renders to a material on the player's wristwatch/helmet

Key Logic:

  • This widget renders to a RenderTarget
  • The render target is assigned to the wristwatch mesh material
  • Contents show mini-HUD: health dots, ammo count, compass

WBP_MenuFlowController

Not visual — state machine that manages menu transitions.

States: MainMenu → NewGame → Loading → InGame → Pause → Settings → Death → Credits

Key Logic:

PushMenu(MenuWidget):
  ├─ If current menu → hide
  ├─ Create new menu → add to viewport
  └─ Store in MenuStack

PopMenu():
  ├─ Remove top menu from viewport
  └─ Restore previous menu

OnBackPressed:
  ├─ If menu stack has entries → PopMenu
  └─ If game and no stack → Show PauseMenu

WBP_CreditsScreen

Canvas: ScrollBox — auto-scrolling credits text

Key Logic:

Event Construct:
  └─ Start Timeline → scroll credits text from bottom to top over 60 seconds

OnSkip (any key press):
  └─ Jump to end → show "Thanks for Playing" → auto-transition to MainMenu

Test All Widgets

  • Each widget displays in isolation (right-click → Run Widget)
  • Pause menu toggles cursor correctly
  • Settings save and persist across sessions
  • Inventory grid updates when items change
  • Notification toast animates in/out
  • Screen effects don't block input