Showcase sample

The Showcase sample (Samples~/Showcase/ in com.cupkekgames.luna) is the pure UI showcase — requires only Luna's foundation deps (singleton, pool, fadeable, keyvaluedatabase, prefabloader, editorui, editorinspector, packagemanager, input) — all installed transitively when you import Luna.

Import Essentials alongside. Showcase references theme/UXML/sprites/audio in the Essentials sample via sibling-relative paths (../../../../Essentials/...). Without Essentials imported, scenes load with broken images and styles.

Three entry points

LunaShowcase.unity

A complete game-style UI shell with tabs (Home, Heroes, Quests, Shop, Leaderboard), modals, overlays, and responsive layout switching. The driving controller is GameUiHub.

Open LunaShowcase.unity for the headline demo. Hit Play, click around the tabs, open modals.

LunaStorybook.unity

A single sidebar-driven scene that consolidates the simple per-component showcases (Toggle, Slider, Buttons, ListView, etc.) — no more flipping through 25 separate scenes. Pick a component on the left to preview it on the right.

Open LunaStorybook.unity. The recommended browse-it-fast entry point for new users.

See Storybook/README.md for the underlying view code and how to add a new entry.

Components/

Specials-only — distinctive variants and feature demos that need their own scene because they show scene-level wiring (camera, multiple inputs, layout responsiveness, composite demos). Flat layout — no cluster prefixes:

FolderScenes
DragAndDrop/DragAndDropDemoWorldSpace
InputPrompt/InputPromptLocalMultiplayer
ProgressBar/{LeagueOfLegends,MultiPass,Overwatch}/brand variants (LeagueOfLegends, MultiPass, Overwatch, OverwatchCelled)
RadialProgressBar/MultiSegment, Overwatch, OverwatchNoCells, SweepAngle
GridView/{ListView,Pagination}/ListView Responsive, Pagination Responsive
Tooltip/WorldSpace, Nested, Update
Effects/Playground, Presets, Showcase
LoadingTransitionMasking/LoadingTransitionMasking
ShaderDemo/ShaderDemo
TransitionAnimation/TransitionPresetGallery, UIViewTransitionDemo
ResponsiveDemo/ResponsiveDemo
UIRender/UIRender (Characters / Effects / Overlay)
Inventory/InventoryListDemo, InventoryPaginationDemo
RPGDemo/RPGDemo

Refer to the Components section in the sidebar for per-component API documentation.

Companion: Essentials sample

Shared theme tokens, fonts, panel settings, UXML primitives, sprites, audio, demo prefabs, and helper scripts live in the Essentials sample (Samples~/Essentials/):

Essentials/ ├── README.md ← Start-here landing page ├── Audio/ — shared demo audio (clicks, mixer) ├── Effects/ — Luna filter shader assets ├── Editor/ — Editor-only asmdef scope ├── Input/ — input action map + Luna icon database ├── Prefabs/ — shared demo prefabs (LunaUIManager, Pause, Inventory popups, etc.) ├── ScriptableObjects/ — transition presets, etc. ├── Scripts/ — shared demo helpers (DontDestroyOnLoad, scene transitions) ├── Sprites/ — character/portrait/item/UI sprites ├── Theme/ — design system: fonts, colors, panel settings, USS tokens └── UXML/ ├── Components/ — reusable UXML primitives (ChoicePopup, Tooltip, Pagination, Notification, SaveLoad, ReturnButton) └── Modal.uss — shared modal stylesheet

These are also referenced by the GameFull sample via sibling-relative paths. When all samples are imported they live as siblings under Assets/Samples/LunaUI/<version>/ and the relative refs resolve cleanly.

Settings

Theme

Light

Contrast

Material

Dark

Dim

Material Dark

System

Sidebar(Light & Contrast only)

Light
Dark

Font Family

DM Sans

Wix

Inclusive Sans

AR One Sans

Direction

LTR
RTL