# WBP_PauseMenu — Widget (Pause Menu) **Parent:** `UUserWidget` **Used by:** `SS_UIManager.PushMenu("PauseMenu")` **Depends On:** `SS_UIManager`, `SS_SaveManager`, `GI_GameFramework` --- ### Purpose In-game pause overlay with Resume, Save, Load, Settings, Return to Main Menu. ### Variables | Name | Type | Description | |------|------|-------------| | `ResumeButton` | `Button` | Closes menu, resumes game | | `SaveButton` | `Button` | Manual save | | `LoadButton` | `Button` | Load a different save | | `SettingsButton` | `Button` | Opens settings | | `QuitToMenuButton` | `Button` | Confirm quit to main menu | ### Functions | Name | Inputs | Outputs | Description | |------|--------|---------|-------------| | `OnResume` | — | — | SS_UIManager.CloseTopMenu, set game phase back to InGame | | `OnSave` | — | — | SS_SaveManager.CreateManualSave, show notification | | `OnLoad` | — | — | Push load slot selection via SS_UIManager | | `OnSettings` | — | — | SS_UIManager.PushMenu "SettingsMenu" | | `OnQuitToMenu` | — | — | Show confirmation, confirm calls OpenMainMenu | ### Blueprint Flow — Pause Menu Open ```mermaid sequenceDiagram participant Player as Player participant UIMgr as SS_UIManager participant GM as GI_GameFramework participant HUD as WBP_HUDController Player->>UIMgr: Press ESC UIMgr->>GM: SetGamePhase Paused GM->>HUD: OnPhaseChanged Paused HUD->>HUD: Hide diegetic elements UIMgr->>UIMgr: PushMenu PauseMenu Note over UIMgr: Show mouse cursor Note over UIMgr: Input mode = UI Only ``` ### Communications With | Target System | Method | Why | |--------------|--------|-----| | [`SS_UIManager`](44_SS_UIManager.md) | Push/Pop/Close/Open | Menu lifecycle | | [`GI_GameFramework`](../01-core/04_GI_GameFramework.md) | SetGamePhase, dispatchers | Phase transitions | | [`SS_SaveManager`](../05-saveload/28_SS_SaveManager.md) | Save/Load functions | Save slots | ### Reuse Notes - Split from original bundled `36_WBP_MenuWidgets.md` per Clean Slate refactoring plan