roblox-ui-design · git:20260714.e9a0520 · 2026-07-14 · sha256 25c84dd2e16cf5af
roblox-ui-design git:20260714.e9a0520A
Immutable. This exact content is served forever at /api/v1/blob/25c84dd2e16cf5af.
--- name: roblox-ui-design description: "Roblox UI design with simulator default and existing-style inheritance. Use with `roblox-gui`." last_reviewed: 2026-07-13 sources: - https://create.roblox.com/docs/production/publishing/adaptive-design - https://create.roblox.com/docs/production/publishing/accessibility - https://create.roblox.com/docs/ui/styling - [original] --- # Roblox UI Visual Design ## When to Load Load for Roblox UI design/review. No style source: use the simulator default. Existing UI/reference: preserve its style while applying these rules. Load `roblox-gui` for mechanics. ## Quick Reference ### Style Existing UI/reference > explicit art direction > default. For existing style, inspect surfaces, fonts, borders, depth, icons, spacing, and action colors. Reuse those tokens. Borrow style, not broken geometry. Do not import conflicting simulator conventions. ### Core Principles - **Topology:** choose composition from the job: single-focus, collection, compare, HUD, list, or another justified shape. Do not force every task into one modal. - **Hierarchy:** one focal object, state, or action gets the strongest contrast and scale. Quiet secondary content. - **Flow:** each repeated flow has one owner: `UIListLayout`, `UIGridLayout`, or shared-column math. Do not mix layout objects with guessed offsets. - **Density:** size the complete panel around useful content. Do not stretch shells or add metadata to fill space. - **Bounds:** sum widths, gaps, padding, borders, and minimums. Keep content, strokes, and backings inside parents. - **Alignment:** use shared layouts, fixed icon slots, and matching anchors. Do not independently offset paired icons and labels. - **State:** active, available, locked, completed, and disabled states need structural/textual differences. Color is not the only signal. - **Verification:** inspect the target viewport for clipping, overflow, dead space, type, and hierarchy. A valid tree is not proof of good composition. ### Default Default: bold, layered, toy-like UI over 3D gameplay. - Base: charcoal/warm brown. Green = claim/buy; red = danger/close; yellow = premium; blue = navigation/currency; purple = rare. - Display: `FredokaOne` (cute) or `Oswald` (action); body: `BuilderSans`. - Display type covers titles, section labels, item names, and key stats. Secondary values stay clean and smaller. Outline title and primary CTA only. - Use one neutral outline per surface. Backings share the radius or stay inset. Put color in fills, active insets, or small cues, not every perimeter. - Content cards need a centered focal icon/art placeholder. Do not leave item grids blank. ### Anti-Patterns Oversized shells, wide panels around narrow stacks, fixed offsets in auto-sized flows, drifting actions, colored outlines on every card, blank item boxes, independent icon/label offsets, or simulator styling pasted over an existing identity. > Full specs and QA checklist: [references/full.md](references/full.md)