๐ฎ Zion Console Menu
Version 1.1.0 โ a complete, controller-ready UI Toolkit menu foundation for Unity 6.
User Guide
Main Components
ZionMenuManager
Registers menu screens, controls navigation history and manages pause sessions.
Standard screen identifiers include:
mainsettingscreditspausecontrolssaveload
ZionGameFlowBridge
Provides optional built-in scene loading or UnityEvent-based integration for:
- New Game
- Continue
- Resume
- Return to Main Menu
- Loading progress
- Transition failure
ZionConfirmationDialog
Displays Information, Confirmation, Warning and Destructive modal requests above the current menu. It blocks the underlying controls, supports B or Escape cancellation and restores focus when it closes.
SaveMenu and LoadMenu
Display provider-supplied save slots with empty or occupied state, display name, scene name, play time and timestamp. Save supports creating and overwriting data; Load enables only valid occupied slots; Delete is protected by a destructive confirmation.
IZionSaveSlotProvider
Keeps the menu UI independent from the project's persistence format. The provider supplies slot metadata, capability checks and asynchronous Save, Load and Delete operations.
ZionMainMenuScreen
Owns New Game, Continue, Load Game, Settings, Credits and confirmed Quit. It also provides the established connection point for Continue availability.
SetContinueAvailable(bool available)
SetContinueAvailable(int availableSlotCount)
SetContinueLabel(string label)
RefreshContinueState()
ZionPauseMenuScreen
Owns Resume, Save Game, Load Game, Settings, confirmed Return to Main Menu and confirmed Quit. The pause session remains active while a nested menu or confirmation dialog is open.
ZionVirtualCursor
Uses the left stick to control a cursor that renders above the menu screens.
Keep its UIDocument sort order above the rest of the UI. The
recommended value is 100; the Confirmation Dialog uses
90.
ZionInputPromptController
Switches prompt text automatically when the active input device changes between keyboard, mouse and gamepad.
ZionSettingsMenuScreen
Provides audio and display settings. Long settings screens can be scrolled with the right stick or triggers while the left stick remains reserved for the virtual cursor. Reset to Defaults opens a confirmation before applying the reset.
ZionInputRebindService
Uses the New Input System interactive rebinding API and stores binding overrides persistently.
Confirmation Dialogs
Version 1.1.0 uses one reusable modal overlay instead of treating a dialog as a normal menu screen. The originating menu remains visible and the navigation stack is preserved.
| Dialog type | Default focus | Typical use |
|---|---|---|
| Information | Confirm | Acknowledgements and non-destructive notices |
| Confirmation | Confirm | Ordinary user choices |
| Warning | Confirm or configured action | Actions with a notable consequence |
| Destructive | Cancel | Delete save, quit and other irreversible actions |
Keep the Confirmation Dialog UIDocument at sort order
90, below the virtual cursor at 100 and
above the menu and loading layers.
Save and Load Screens
The slot screens present data supplied by
IZionSaveSlotProvider. Zion Console Menu owns the UI,
focus, confirmation and operation feedback; your provider owns
persistence, validation, scene selection and restored gameplay data.
- Empty slots can be selected for Save but cannot be loaded or deleted.
- Occupied slots display the provider's display name, scene name, timestamp and play time.
CanSave,CanLoadandCanDeletecontrol which operations are available.- An occupied Save slot requests overwrite confirmation.
- Delete uses a Destructive confirmation with Cancel focused first.
- Successful Save and Delete operations refresh slot state and Continue availability.
Provider Assignment
Assign the same component implementing
IZionSaveSlotProvider to Provider Source
on both SaveMenu and LoadMenu so both screens
display identical slot state.
If the Demo folder is installed and no provider exists, Generate
Missing Setup can create Demo Save Provider (Demo Only)
and connect it automatically. This PlayerPrefs-backed provider is
for testing the three demonstration slots, not production progress.
Operation Results
Save, Load and Delete complete asynchronously with a
ZionSaveOperationResult. A failed operation should
report a clear result and leave the player on a usable screen.
Audio Settings
The AudioMixer bridge expects the following exposed parameters unless they are renamed in the Inspector:
ZionMasterVolumeZionMusicVolumeZionSfxVolume
Music AudioSources should normally output to the Music mixer group. UI and gameplay effects should output to SFX. Both groups should be children of Master.
Display Settings
Desktop display options include:
- Display mode
- Resolution
- Refresh rate
- VSync
- Reset to defaults
Input Rebinding
The Controls screen can expose suitable keyboard and gamepad bindings from your Input Action Asset.
The Zion demonstration intentionally avoids rebinding stick-based Navigate controls because:
- The left stick controls the virtual cursor.
- The right stick scrolls long screens.
D-pad and keyboard Navigate, Submit, Cancel and Pause actions remain suitable for interactive rebinding.
Default Controller Behaviour
| Control | Default purpose |
|---|---|
| Left stick | Virtual cursor |
| Right stick | Scroll long screens |
| LT / RT | Scroll long screens |
| D-pad | UI navigation |
| A / Enter | Submit |
| B / Escape | Cancel or Back |
| Start / Pause action | Open the Pause Menu |