Designing in Three Dimensions: UX Lessons from XR
When the interface leaves the flat screen, a lot of comfortable habits break. Notes on depth, comfort, gaze and hand input, and prototyping XR in Unity and Blender.
Take a settings panel that looks perfect in a Figma frame and drop it into a headset. Odds are it ends up too close, too wide, and a little shimmery every time you turn your head.
That gap between the frame and the face is where XR design lives. A flat screen hands you a rectangle with known edges. Space hands you nothing, and the user's body quietly becomes part of the layout. Here's what working in XR has made me unlearn, and what I've been relieved to keep.
Depth is a decision, not a decoration
In flat UI, depth is a hint: a shadow, a blur, a z-index. In XR it's literal. Every element sits at a real distance from the user's eyes, and that distance shapes readability, comfort and meaning.
- Put primary content at a comfortable reading distance. Roughly arm's length to a couple of metres suits most panels. Closer, and eyes strain to converge. Much farther, and text has to grow to stay legible.
- Use depth for hierarchy, sparingly. A modal that floats slightly forward reads clearly. Ten layers at ten depths reads as clutter.
- Size by angle, not pixels. What matters is how much of the field of view a letter occupies, so "16px" stops meaning much.
Field of view matters just as much. People can turn their heads, but they shouldn't have to for anything important. I treat the area straight ahead as prime real estate, the edges as secondary, and anything behind the user as a place for things they choose to go find.
Input without a cursor
A mouse pointer is precise, always visible, and invisible to the user's attention. XR input comes with none of those guarantees.
Gaze
Eyes are fast but restless. They're great at signalling interest and terrible at confirming intent, because people look at plenty of things they never meant to click. If gaze selects, pair it with something deliberate: a pinch, a button press, or a dwell timer with visible progress.
Hands
Hand tracking feels magical right up until your shoulders start to burn. Direct touch works for close panels; for anything farther away, a ray or a pinch at a distance is kinder to arms. Targets need to be generous, because a fingertip in midair has nothing to rest against and tracking is never pixel-perfect.
Controllers
Less glamorous, more reliable. For precise or repetitive tasks they're often the better tool, not a fallback.
The rule underneath all three: every input needs clear feedback before, during and after. Hover becomes a highlight on gaze or a glow as a hand approaches. A press needs a visual change, a sound and, where possible, a small haptic tick.
Sound and feedback do more work in space
On a flat screen, sound is often an afterthought. In XR it's part of the layout. Spatial audio tells people where something is before they've looked at it, which matters a lot when the interface can be anywhere around them.
A notification that chimes from the left invites a natural head turn. A button that clicks from the exact spot your finger touched feels physical, even though nothing is there. Without that, virtual buttons feel like poking fog.
Visual feedback follows the same logic. There's no physical resistance, so the interface has to supply it: a slight depression on press, a quick change in scale, a soft glow on approach. Small motions, but together they stand in for the entire sense of touch.
Comfort is a feature
Motion sickness is the fastest way to lose someone in XR, and a person who felt queasy once rarely gives the experience a second chance. Most of it comes from a mismatch between what the eyes see and what the inner ear feels.
The guardrails I keep coming back to:
- Never move the camera without the user's consent. No surprise pans, no forced cinematic motion.
- Offer teleport and snap turning alongside smooth locomotion, and let people choose.
- Avoid UI glued to the head. A panel locked to your face follows every micro-movement and soon feels claustrophobic. Let it follow lazily, or anchor it in the world.
- Keep the frame rate high and steady. A dropped frame in a browser is an annoyance. In a headset it's physical.
- Design for breaks. Shorter tasks, natural pause points, easy ways to pick up where you left off.
Onboarding belongs here too. Plenty of people are still new to headsets, so don't assume they know what a pinch does or where the menu lives. Teach one interaction at a time, in context, and let people practise before it matters. A floating wall of instructions is the XR version of a twelve-step tooltip tour, and it lands just as badly.
Prototyping in 3D, and what still holds
Figma is still where I sketch flows and panel layouts, but it can't tell me how something feels at a metre and a half. For that I block out scale and arrangement in Blender, then bring it into Unity to get it onto a headset as early as possible. Grey boxes and placeholder text on the actual device teach more than a polished render ever will.
The flat-UI habits that broke: pixel-perfect sizing, fixed viewports, hover as a free and invisible state, and the assumption that the user sits still. The principles that survived are the ones that were never really about screens:
- Clear hierarchy
- Immediate, honest feedback
- Consistent behaviour, so the same gesture always does the same thing
- Accessibility, which in XR also means seated use, one-handed use, and respecting people who can't tolerate certain motion
- Testing with real people, early and often
XR didn't make me throw away what I know about design. It showed me how much of it quietly assumed a glowing rectangle. Take the rectangle away and you find out which ideas were load-bearing. Those are the ones worth keeping, in any number of dimensions.