UI Design Best Practices
Learn how to create professional, good-looking user interfaces in Roblox with Revix.
UI Design Fundamentals
Hierarchy and Layout
Good UI design starts with clear hierarchy:
- Important elements should be larger and more prominent
- Group related elements together
- Use consistent spacing between elements
- Leave breathing room (whitespace) around content
Color Guidelines
Choose a Color Palette
Pick 2-4 colors that work well together:
- Primary color: Main buttons and important elements
- Secondary color: Backgrounds and secondary actions
- Accent color: Highlights and notifications
- Neutral colors: Text and borders
Color Contrast
Ensure text is readable:
- Dark text on light backgrounds
- Light text on dark backgrounds
- Minimum contrast ratio of 4.5:1 for normal text
Typography
- Use consistent fonts throughout your UI
- Limit font sizes to 3-4 different sizes
- Recommended fonts: GothamBold, GothamMedium, Gotham (modern look)
- Text sizes:
- Titles: 24-32px
- Body text: 14-18px
- Small text: 10-12px
Roblox UI Best Practices
ScreenGui Settings
{
"ResetOnSpawn": false,
"IgnoreGuiInset": true,
"ZIndexBehavior": "Enum.ZIndexBehavior.Sibling"
}Frame Sizing with UDim2
Use scale values (0-1) for responsive design:
{
"Size": {"XScale": 0.3, "XOffset": 0, "YScale": 0.4, "YOffset": 0}
}Use offset values for fixed sizes:
{
"Size": {"XScale": 0, "XOffset": 200, "YScale": 0, "YOffset": 50}
}Centering Elements
Center an element by setting:
- Position:
{XScale: 0.5, YScale: 0.5} - AnchorPoint:
{X: 0.5, Y: 0.5}
Rounded Corners
Add UICorner for modern rounded look:
{
"CornerRadius": {"Scale": 0, "Offset": 8}
}Shadows and Depth
Create depth with:
- Multiple layered frames
- Subtle transparency differences
- UIStroke for borders
Common UI Patterns
Buttons
Good Button Design:
- Clear, readable text
- Sufficient padding (at least 12px all around)
- Rounded corners (8-12px)
- Hover and press states
- Consistent sizing
Example Button Properties:
{
"Size": {"XScale": 0, "XOffset": 160, "YScale": 0, "YOffset": 48},
"BackgroundColor3": {"R": 0, "G": 170, "B": 255, "fromRGB": true},
"TextColor3": {"R": 255, "G": 255, "B": 255, "fromRGB": true},
"Font": "Enum.Font.GothamBold",
"TextSize": 18,
"BorderSizePixel": 0
}Cards/Panels
Good Card Design:
- Consistent padding inside
- Subtle background color
- Rounded corners
- Optional shadow/stroke
Example Card Properties:
{
"BackgroundColor3": {"R": 30, "G": 30, "B": 40, "fromRGB": true},
"BackgroundTransparency": 0.1,
"BorderSizePixel": 0
}Health Bars
Good Health Bar Design:
- Clear fill vs background contrast
- Smooth animations when changing
- Optional text label showing exact value
Inventory Grids
Good Grid Design:
- Consistent item sizes
- Clear selection indicators
- Hover effects for interactivity
- Scrolling for many items
Layout Components
UIListLayout
Auto-arrange children in a list:
{
"Padding": {"Scale": 0, "Offset": 8},
"FillDirection": "Enum.FillDirection.Vertical",
"HorizontalAlignment": "Enum.HorizontalAlignment.Center"
}UIGridLayout
Auto-arrange in a grid:
{
"CellSize": {"XScale": 0, "XOffset": 100, "YScale": 0, "YOffset": 100},
"CellPadding": {"XScale": 0, "XOffset": 10, "YScale": 0, "YOffset": 10}
}UIPadding
Add internal padding to frames:
{
"PaddingTop": {"Scale": 0, "Offset": 12},
"PaddingBottom": {"Scale": 0, "Offset": 12},
"PaddingLeft": {"Scale": 0, "Offset": 12},
"PaddingRight": {"Scale": 0, "Offset": 12}
}Animation and Polish
Smooth Transitions
Use TweenService for:
- Button hover effects
- Panel open/close animations
- Health bar changes
- Notification popups
Feedback
Provide visual feedback for:
- Button clicks (slight scale or color change)
- Form validation (green/red borders)
- Loading states (spinners or progress bars)
- Success/error states
Mobile-Friendly Design
Touch Targets
- Minimum button size: 44x44 pixels
- Adequate spacing between tap targets
- Avoid hover-only interactions
Responsive Scaling
Use scale values to adapt to different screen sizes:
- Test on both mobile and desktop
- Consider using different layouts for mobile
Safe Areas
Account for device notches and status bars using IgnoreGuiInset appropriately.
Common Mistakes to Avoid
- Too many colors - Stick to your palette
- Inconsistent spacing - Use consistent padding and margins
- Text too small - Ensure readability on all devices
- Cluttered layout - Leave whitespace for breathing room
- No visual hierarchy - Make important elements stand out
- Ignoring accessibility - Ensure sufficient color contrast
- Hardcoded sizes only - Use scale for responsive design
Asking Revix for UI Help
When requesting UI from Revix, be specific about:
- Purpose: "Create a shop UI for buying weapons"
- Style: "Modern, dark theme with blue accents"
- Layout: "Grid of items with prices and buy buttons"
- Functionality: "Clicking buy should fire a RemoteEvent"
Example Request:
"Create a modern-looking inventory UI with a dark theme. It should have a grid of 6x4 item slots, each slot should show an item icon and count. Include a close button in the top right corner. Use rounded corners and subtle shadows for depth."
This gives Revix all the context needed to create exactly what you want.