- 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.
1.9 KiB
1.9 KiB
WBP_MainMenu — Asset Implementation
UE5 Asset:
/Game/Framework/UI/WBP_MainMenuParent Class:UserWidget
Create This Widget
- Content Browser →
Content/Framework/UI/ - Right-click → User Interface → Widget Blueprint
- Name:
WBP_MainMenu
Designer Canvas
Canvas Panel
└─ Vertical Box (centered)
├─ Image (game logo) "LogoImage"
├─ Spacer
├─ Button "btn_NewGame" "New Game"
├─ Button "btn_Continue" "Continue"
├─ Button "btn_LoadGame" "Load Game"
├─ Button "btn_Settings" "Settings"
├─ Button "btn_Credits" "Credits"
└─ Button "btn_Quit" "Quit Game"
└─ TextBlock "VersionText" (bottom-right) "v1.0.0"
What to Wire
Event: Event Construct
[Event Construct]
├─ Get GameInstance → Cast to GI_GameFramework
├─ Get SaveManager → GetSlotManifest()
├─ Branch: Any slot has data?
│ True → btn_Continue.SetIsEnabled(true)
│ False → btn_Continue.SetIsEnabled(false)
└─ Set Input Mode: UI + Show Cursor
Button Handlers
btn_NewGame.OnClicked:
├─ Call GI_GameFramework.ClearAllSessionFlags()
├─ Call GI_GameFramework.SetActiveSlot(new slot index)
├─ Call OpenLevel (first chapter map)
└─ Set Input Mode: Game
btn_Continue.OnClicked:
├─ Call SaveManager.QuickLoad()
└─ OnLoadComplete → OpenLevel (saved chapter)
btn_LoadGame.OnClicked:
└─ Push WBP_LoadGameMenu to SS_UIManager stack
btn_Settings.OnClicked:
└─ Push WBP_SettingsMenu
btn_Quit.OnClicked:
└─ Quit Game (or ConsoleCommand "quit")
Test It
- Game opens at main menu → cursor visible
- No save data → Continue grayed out
- Click New Game → level loads → cursor hidden
- Click Quit → game exits