roblox gui
When to Load
Load when building a HUD, menu, shop, dialog, notification, or UI attached to a 3D object.
Quick Reference
ScreenGuioverlays;SurfaceGuion surfaces;BillboardGuifor 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, set a selected entry point and test directional focus.
GuiService.SelectedObjectis the native baseline. - Reuse the project's visual language; let the owner choose art direction. Verify the UI over the game world.
- Keep UI state separate from the server state that it displays. A button is not an authority boundary.
- Server Authority UI may show corrected predictions. Show confirmed inventory and currency; route gameplay input through the Input Action System.
- 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.