AROYN UI LIBRARY / CORE CONCEPTS

Pages

Stable navigation destinations with independent sections and preserved state.

Create a page#

LUAU
local general = window:CreatePage({Name = "General", Icon = "components"})
local settings = window:CreatePage({Name = "Settings", Icon = "settings"})
window:SelectPage("Settings")
general:Select()
OptionTypeDefaultBehavior
NamestringRequiredNonempty and unique within this window. Also the visible heading.
Iconstring"components"One of the seven supported atlas keys.

Methods#

MethodReturnsBehavior
CreateSection({Title = ...})SectionAdds an owned section.
Select()PageSelects this page.
Destroy()nilRemoves its sections and listeners. A standalone window selects another remaining page.

Pages are created once. Their values and scroll state survive switching. Inactive pages cannot accept user input. Navigation closes the current Dropdown/ColorPicker and cancels dialogs with page_changed; notifications remain visible across ordinary page changes.

Icon mapping#

KeyIntended use
cartPurchasing
plotPlant / plot
compostCompost / material
marketStorefront / market
settingsPreferences in the original UI Lab mapping
petsPet controls
componentsComponent showcase / general tools

Use the library’s seven-cell atlas. The Settings key describes the core mapping; the game integration’s later gear/ten-icon hotfix is a separate asset system. There is no free-form asset option on CreatePage.

Create an icon directly#

LUAU
-- Set Aroyn.IconAtlas to an already registered, compatible image URI first.
local icon = Aroyn:CreateIcon(existingContainer, "cart", 24, Aroyn.Theme.Colors.TextMuted)

CreateIcon(parent, key, size?, tint?) returns an ImageLabel. Default size is 24; default tint is Theme.Colors.TextMuted. Unknown keys assert. The returned image is distinct from a component handle.