Luna's pre-built views cover the screens almost every game needs — menus, loading, saves, dialogue, inventory. Most are UIViewComponents you drop onto a prefab and subclass where behavior is game-specific (button handlers, save types, item binding); all of them are built from the same components and theme classes, so they restyle with your palette like everything else.
The boot-and-menu loop every game ships:
LoadingViewController, a dual-role overlay: scene-transition loading screen, plus an opt-in boot preloader that covers the screen and holds navigation until every NavHost is ready.MainMenuView<TSaveData, TSaveMetadata>, abstract Continue / Load / New Game / Settings / Credits / Quit wiring; Continue and Load auto-enable based on whether a save exists in your GameSave manager.PauseMenuView, abstract Continue / Load / Settings / Main Menu / Quit wiring with the Continue handler (PopBackStack) already implemented.SettingsDataSO (model bundle) + SettingsMenuView (view root) hosting per-category section pairs (SettingsDataSection + SettingsMenuViewSection) — Graphics, Audio, Localization, and your own.GameSaveViewList<TSaveData, TSaveMetadata>, the slot list for the GameSave system: load / overwrite / delete, autosave/manual filters, gamepad-friendly prompts.CreditsView, auto-scrolling credits with labeled sections and "Position: Person" line formatting; optionally closes itself when the scroll completes.One base class, three ready-made shapes:
DialogueAudio, inline text effects parsing.SpeechBubbleController, positioned bubbles with directional arrows, dual avatars, and an animated "next" continuation prompt.TutorialModalController, a step-by-step modal with title, subtitle, image, and prev/next navigation.VisualNovelController, the full VN layout: dual character portraits with breathing animation, speaker name label, Continue / Skip / Restart bindings.Grids, popups, and status indicators:
GridViewBase<TItem>, the abstract base for paginated, filterable grids, plus two ready-made subclasses: GridViewPagination (page-button strip) and GridViewList (virtualized ListView scrolling).AutoSaveView, listens to GameSaveEvents and spins a RadialLoading arc while an autosave runs.ChoicePopupController, an N-button modal (Yes/No, Save/Discard/Cancel, or any custom set) built dynamically from a serialized choice list.Settings
Theme
Light
Contrast
Material
Dark
Dim
Material Dark
System
Sidebar(Light & Contrast only)
Font Family
DM Sans
Wix
Inclusive Sans
AR One Sans
Direction