Native controls, configurable palettes and compound-control bindings.
Orbit UI kit
Orbit is an original native UI package with 39 controls and compositions, editable colors and Lua bindings. Install it from the package store. It uses native nodes and the engine font; includes 32 original tintable SVG icons; no reference-image artwork is redistributed.
demi package add demi.ui.orbit@1.1.0 --project path/to/game
Open a HUD and choose a prefab from UI Palette. Edit its parameters in the Inspector. For JSON authoring, use ui-prefab://orbit/button-primary, ui-prefab://orbit/settings, or another documented prefab ID. Root layout belongs in overrides; labels, content and colors belong in arguments.
The same controls from Lua
local Hud = require("demi.hud")
local Orbit = require("demi.ui.orbit")
local definition = Orbit.button("launch", "Launch", {
palette = Orbit.palette("glacier", {accent = "#83D5FF"}),
})
definition.overrides = {["$root"] = {dock = "bottom", margin = {24, 0, 24, 24}}}
local handle, error = Hud.create("ui_root", definition)
assert(handle, error)
Ember, glacier and meadow palettes provide warm, blue and green starting points. Override named colors such as surface, text, accent and negative. Controls resolve through the same prefab sources in Lua and the editor.
What is included
Buttons, text/search inputs, toggles, checkbox and radio choices, sliders, progress bars, tabs, segmented navigation, dropdowns, pagination, steppers, tooltips, notifications, dialog/modal layouts, inventory slots and rows, panels, metrics, settings and a main menu. The package README lists every prefab, argument source and binding operation.
Native controls and declarative tabs work immediately, including tab preview in the HUD editor. Optional tab callbacks and other compound controls use bindings such as Orbit.bind_tabs and Orbit.bind_dropdown in your script's on_start. Dispose each binding in on_destroy. Tabs and dropdowns start with three entries; pagination supports arbitrary page counts through a three-button window. Your game owns persistence, menu actions and inventory data.
Icons
The package includes 32 original SVG icons. Use the icon, icon-button, button-with-icon and icon-gallery prefabs, or call Orbit.icon and Orbit.icon_button. Set texture to your own asset URI to use custom icons; the native image tint controls color. Icon-only buttons expose an accessible label. The SVGs can also be used outside the engine under the included BSD license.
Preview
demi run --project examples/orbit_ui --window-size 1160x810
demi test linux --project examples/orbit_ui
The engine checkout example includes interactive galleries and additional palette/menu/inventory scenes. Maximize the window to check your actual monitor layout. Orbit requires the current development engine's installed-prefab and declarative runtime creation support.
See HUD layout, UI prefabs, and HUD from Lua for the shared authoring contracts.
Orbit 1.1.0 uses the single overrides map: $root for root properties, local node IDs for descendants, children for local additions and null for removed inherited content. See the UI-prefab guide for editing, reset and migration examples.