RevixRevix/Documentation
DocsUsing RevixUI Design Best Practices

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.