Tatsuang
Portfolio         Contact
Tatsuang

Rec Room Design System

A design system that turned UI creation from a bottleneck into a multiplier across 11 teams

My Role

I first joined Rec Room as the sole UX/UI designer, supporting 8+ product teams. I quickly recognized that the real problem wasn’t workload; it was a structural bottleneck. Design was a dependency on every team’s timeline.

I shifted from producing UI for individual teams to building the system that let others produce it themselves, growing a centralized team focused on design infrastructure that served every product team in the company.

My Contributions
  • Partnered with engineering to build a UI framework in Unity, designed for easy onboarding so any engineer could start using it quickly

  • Drove adoption team by team. PMs and non-UX/UI designers went from zero to building mockups independently within ~1 week

  • Established governance: design reviews, office hours, exception-handling process
My Team
The Problem
UI creation couldn’t keep pace with the shipping cycle

Rec Room’s growth depended on rapid experimentation. Teams shipped features weekly to find what resonated with players. But with only 2 interface designers serving 8+ teams, every feature requiring UI was bottlenecked on design capacity.

The design system was the lever: a shared component library, design language, and documentation framework that let PMs, game designers, and engineers build production-quality UI without always needing an interface designer in the loop.

Not enough designers

With only 2 interface designers, game designers and PMs resorted to screenshotting existing UI and drawing over it in PowerPoint to create “specs”

Inconsistency

Every team built UI differently, leading to a fragmented player experience and recurring usability issues that required rework.

Long implementation time

UI was built from scratch every time, adding roughly 2 weeks on top of core feature work

Audience & Goals
Designed to serve every role

Not every team had an embedded designer, so the system needed to be usable by anyone: PMs, game designers, and engineers alike, without becoming a new bottleneck.

For Designers
Needs & Goals
  • Have a unified design language and principles that ensure ecosystem-wide consistency

  • Have flexible frameworks with clear guidelines that empower innovation without reinventing foundations
For Product Managers
Needs & Goals
  • Enable more product roles to quickly create mockups and prototypes without always relying on designers

  • Reduce UI creation as the bottleneck on production timelines
For Engineers
Needs & Goals
  • Reducing development time and ambiguity through clearer design handoffs

  • Faster onboarding for new engineers into UI development
Key Decisions
Principles

Three principles anchored the system's architecture and informed how every component, token, and guideline was crafted.

One source of truth

A single, reliable foundation aligns design and engineering, eliminating ambiguity and fostering seamless collaboration.

Scalable

A modular, resilient system that evolves systematically without breaking what already works.

Empower

Reusable patterns enable product teams to create features independently, accelerating delivery while maintaining consistency.

Support Model

The design system was built to handle the majority of day-to-day UI needs. For everything else, we created tiered support that scaled with project complexity.

Quality assurance
PR reviews: required early, optional once teams were ready

Initially, we reviewed every PR to ensure correct implementation. As teams demonstrated they understood the system, we made reviews optional. This built trust over time and removed us as a bottleneck.

Small requests
Office hours + work sessions

Teams with specialized needs submitted interface requests or brought them to office hours. For smaller tasks, we'd work directly with the design owner in the session or schedule a focused work session.

Large projects
Embed model for large project like first-party games

For bigger efforts, like designing UI for a new first-party game, we embedded directly with the team. This gave them dedicated design system support while keeping the system's standards intact.

Design System
Foundation

We use a 3-tier token architecture (primitive → semantic → component) for color, typography, spacing, and sizing. This layered structure allows updates at any tier to cascade predictably, enabling foundation changes without breaking existing components.

Component Library

The component library follows an atomic design methodology with three tiers:

Elements: foundational building blocks (e.g., buttons, inputs)
Components: assembled UI units built from elements
Design Patterns: groups of components that solve recurring product needs

This structure makes the system easy to maintain and scale: designers have clear guidelines for maintaining and expanding the system, while product teams can build features independently by following established patterns.

Documentation

Each component includes its own design guidelines and implementation documentation. Designers and PMs learn what to use and when, while engineers learn how to adapt UI prefabs in Unity confidently and efficiently.

Design Best Practices

Guidelines cover anatomy, usage rules, and positioning patterns, giving designers and product teams the context they need to make the right call without guesswork.

Implementation Documents

Implementation docs ensure design specs are faithfully translated into Unity while keeping features performant.

Each component includes step-by-step instructions and checklists, helping engineers confidently adapt UI prefabs.

Using the design system
From Figma to Unity, seamlessly
Adjustable Components

Flexible Figma components make it easy for product teams to prototype and tailor mockups to their feature needs without heavy design support.

Pre-setup Prefabs

Mirrored Unity prefabs match Figma specifications in sizing and styling, letting engineers quickly assemble pages by selecting coordinated components instead of rebuilding from scratch.

Page Design Examples

Real pages across product areas, including work by PMs and game designers building independently with the system.

Outcome
From bottleneck to multiplier

~80%

adoption across the company, with 11 teams actively using the library

10+

PMs and game designers shipping UI independently

3-5 days

to build feature UI, down from ~2 weeks

Learnings & Reflections
What I learned along the way
1. The best help is making yourself unnecessary

As a designer, my default was to jump in and deliver. But every time I did, I reinforced the bottleneck. The real shift was reframing my role from "how do I help this team ship faster" to "how do I make it so this team never needs to wait on me again."

2. Withstand the change

At Rec Room, features get cut, scoped down, or reworked after every test cycle. Most design system thinking emphasizes growth, but I found it equally important to design for reduction. Components need to scale down or be removed without breaking what surrounds them. A system that only grows well but can't shrink cleanly becomes brittle the moment the product changes direction.

← PREVIOUS
Widget Watch

NEXT →
Game Client Redesign

©2011– Tatsuang Tantakosol or their respective copyright holder.