roblox-gui
Installation
SKILL.md
roblox gui
When to Load
Load when building a HUD, menu, shop, dialog, notification, or UI attached to a 3D object.
Quick Reference
- Use
ScreenGuifor screen overlays,SurfaceGuifor a surface, andBillboardGuifor floating world labels. - Let
UIListLayout,UIGridLayout, and constraints own repeated layout. Avoid per-frame pixel positioning. - Use
Scalefor responsive structure andOffsetfor deliberate padding or fixed-size details. - Design for touch and gamepad as well as mouse and keyboard. Bind gameplay actions with
ContextActionServicewhere it fits. - For gamepad UI, define a selected entry point and deliberate directional behavior.
GuiService.SelectedObjectplusSelectableis the native baseline; the Focus Navigation library is optional for richer trees. - Keep UI state separate from the server state that it displays. A button is not an authority boundary.
- In Server Authority projects, a UI may show predicted state that is later corrected. Keep durable inventory, currency, and ownership displays tied to confirmed state, and use the Input Action System for gameplay-affecting input.
- Make scrolling, text growth, clipping, and safe-area behavior explicit before adding polish.
- Build custom loading UI in
ReplicatedFirst; never use a client-side character teleport as the readiness gate.
Need the details? Load references/full.md for layout recipes and UI lifecycle patterns.