Design for XR

To unlock the full potential of Android XR, it helps to understand spatial computing, immersion, and how to blend digital content with a user's physical environment.

Great XR design delivers a comfortable experience that's natural and intuitive. It draws users in and encourages them to explore all that your app has to offer. Android XR apps can help users throughout their day to:

  • Focus on work, and be more productive and creative
  • Watch videos, play games, listen to music, and browse photos
  • Discover and learn
  • Communicate and connect with family and friends
  • Improve mental and physical health

Considerations for a high-quality XR app

Start from where you are

Android XR supports designing from where you are today. You can develop a new app or update an existing one with Android Jetpack XR, Unity, OpenXR, or WebXR.

Build a new app or spatialize an Android app
You can build a new app from scratch, or adapt an Android large screen or mobile app for XR by adding spatial components.
Build a new app or port a Unity, OpenXR, or WebXR app
You can bring existing immersive experiences to a new audience, with minimal development lift.
An Android large screen app adapted for Android XR
Vacation Simulator, a Unity app ported to Android XR

Follow established patterns. You can use Material Design guidelines and components to create a consistent experience across platforms. For Android apps, adopt established UI patterns. For Unity, OpenXR, or WebXR apps, apply platform-specific design guidelines to ensure a seamless user experience.

Leverage users' knowledge. Use common elements like buttons, menus, and text fields that users already know from other platforms. Design consistent interactions to help users navigate your app. Add visual cues to show how they might interact with objects.

Make users feel comfortable and safe

Keep comfort in mind in every part of your design, with considerations for how people naturally move. Allow users to interact with your app in different body positions, using their hands, eyes, voice, physical keyboard, mouse, or controller.

Design comfortable interactions. Center interactable elements in a user's field of view to minimize head and eye strain. Keep content within clear boundaries to help users stay oriented and prevent sensory overload. Reserve large-scale head and body movements for interactions that genuinely enhance the experience.

Accommodate seated, standing, and reclined experiences. Position UI elements, controls, and interactive objects within the user's field of view. Enable custom height settings so users can personalize their experience.

Prevent motion sickness during movement. Use predictable motion and stable frame rates to help users anticipate changes in the environment. Avoid unexpected movements such as abrupt accelerations, decelerations, or direction changes. It helps to keep some items stationary for a frame of reference.

Allow users to choose between real and virtual worlds. If your app supports full immersion to transport users to a virtual space, consider offering a passthrough option so users can see their physical space alongside your app when possible.

Explore experiences that feel special in XR

Android XR includes features to help you harness the infinite display and create engaging, immersive experiences.

Interactive 3D models. You may want to add interactive 3D objects that are realistic, stylized, or playful. Typically, 3D objects are rendered with depth and volume, can be viewed from all angles, and be moved with natural interactions using gestures.

Fully-immersive virtual environments. Save full immersion for experiences that significantly benefit from it. Choose a key moment to transport a user to a new reality, replacing their physical surroundings with a virtual space.

Consider immersive blending. In passthrough mode, you can blend virtual elements with a user's physical environment. Design virtual objects with natural lighting and occlusion to add a realistic feel.

Spatial audio. To add another layer of realism and immersion, position sounds accurately in an environment to create a believable soundscape that increases a user's spatial awareness.

Make your app accessible

Android XR is designed to make it easy for all users to navigate, understand, and enjoy your app.

System features. Android XR includes mobile and large-screen accessibility features such as voice to text, live captions, color inversion and correction, magnification, and dwell control. The platform is also adapted for Google's TalkBack screen reader.

Colors and lighting. Provide sufficient color contrast to aid users with color vision differences. Keep contrast ratios for readability, especially if you use any transparent backgrounds. Use dimming to create contrast between your app and the user's surroundings. Avoid sudden shifts in brightness or color to prevent eye discomfort.

Consider dynamic size and scale. Larger UI and pointer targets make it easier for users to select and manipulate elements in space. If you are building an Android app, it will automatically scale when users move or resize it.

Reduce cognitive load. Present users with a limited number of choices at a time. Offer visual or audio feedback to confirm actions. Reveal advanced features gradually to avoid overwhelming users with excessive information.

Design for both direct and distance interactions, so users can comfortably interact with objects near and far. Users should be able to pick up a virtual tool, press a button, or resize a 3D object whether it's in arm's reach or further away.

Learn about accessible multimodal inputs.