[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-07-27。"],[],[],null,["# Design for XR\n\nTo unlock the full potential of Android XR, it helps to understand spatial\ncomputing, immersion, and how to blend digital content with a user's physical\nenvironment.\n\nGreat XR design delivers a comfortable experience that's natural and\nintuitive. It draws users in and encourages them to explore all that your app\nhas to offer. Android XR apps can help users throughout their day to:\n\n- Focus on work, and be more productive and creative\n- Watch videos, play games, listen to music, and browse photos\n- Discover and learn\n- Communicate and connect with family and friends\n- Improve mental and physical health\n\nConsiderations for a high-quality XR app\n----------------------------------------\n\n### Start from where you are\n\nAndroid XR supports designing from where you are today. You can develop a new\napp or update an existing one with Android Jetpack XR, Unity, OpenXR, or WebXR.\n\n\n**Build a new app or spatialize an Android app**\n\n\nYou can build a new app from scratch, or adapt an Android large screen or mobile\napp for XR by adding spatial components.\n\nAlas, your browser doesn't support HTML5 video. That's OK! You can still [download the video](/static/videos/design/ui/xr/xr-design-1-opt.mp4) and watch it with a video player.\n\nAn Android large screen app adapted for Android XR \n**Build a new app or port a Unity, OpenXR, or WebXR app**\n\n\nYou can bring existing immersive experiences to a new audience, with minimal\ndevelopment lift.\n\nAlas, your browser doesn't support HTML5 video. That's OK! You can still [download the video](/static/videos/design/ui/xr/onehandedcv1.mp4) and watch it with a video player.\n\nVacation Simulator, a Unity app ported to Android XR\n\n\u003cbr /\u003e\n\n**Follow established patterns** . You can use [Material Design\nguidelines](https://m3.material.io/) and [components](https://m3.material.io/components) to create a\nconsistent experience across platforms. For Android apps, adopt established\n[UI patterns](/design/ui/large-screens). For [Unity](https://docs.unity3d.com/Manual/index.html), [OpenXR](https://registry.khronos.org/OpenXR/specs/1.0/styleguide.html), or\n[WebXR](https://immersiveweb.dev/) apps, apply platform-specific design guidelines to ensure\na seamless user experience.\n\n**Leverage users' knowledge**. Use common elements like buttons, menus, and text\nfields that users already know from other platforms. Design consistent\ninteractions to help users navigate your app. Add visual cues to show how they\nmight interact with objects.\n\nMake users feel comfortable and safe\n------------------------------------\n\nKeep comfort in mind in every part of your design, with considerations for how\npeople naturally move. Allow users to interact with your app in different body\npositions, using their hands, eyes, voice, physical keyboard, mouse, or\ncontroller.\n\n**Design comfortable interactions**. Center interactable elements in a user's\nfield of view to minimize head and eye strain. Keep content within clear\nboundaries to help users stay oriented and prevent sensory overload. Reserve\nlarge-scale head and body movements for interactions that genuinely enhance the\nexperience.\n\n**Accommodate seated, standing, and reclined experiences**. Position UI\nelements, controls, and interactive objects within the user's field of view.\nEnable custom height settings so users can personalize their experience.\n\n**Prevent motion sickness during movement** . Use predictable [motion](/design/ui/xr/guides/motion) and\nstable frame rates to help users anticipate changes in the environment. Avoid\nunexpected movements such as abrupt accelerations, decelerations, or direction\nchanges. It helps to keep some items stationary for a frame of reference.\n\n**Allow users to choose between real and virtual worlds** . If your app supports\nfull immersion to transport users to a virtual space, consider offering a\n[passthrough](/design/ui/xr/guides/foundations#give-users) option so users can see their physical space alongside your app\nwhen possible.\n\nExplore experiences that feel special in XR\n-------------------------------------------\n\nAndroid XR includes features to help you harness the infinite display and create\nengaging, immersive experiences.\n\n**Interactive 3D models**. You may want to add interactive 3D objects that are\nrealistic, stylized, or playful. Typically, 3D objects are rendered with depth\nand volume, can be viewed from all angles, and be moved with natural\ninteractions using gestures.\n\n**Fully-immersive virtual environments**. Save full immersion for experiences\nthat significantly benefit from it. Choose a key moment to transport a user to a\nnew reality, replacing their physical surroundings with a virtual space.\n\n**Consider immersive blending** . In [passthrough](/design/ui/xr/guides/foundations#give-users) mode, you can blend virtual\nelements with a user's physical environment. Design virtual objects with natural\nlighting and occlusion to add a realistic feel.\n\n**Spatial audio**. To add another layer of realism and immersion, position\nsounds accurately in an environment to create a believable soundscape that\nincreases a user's spatial awareness.\n\nMake your app accessible\n------------------------\n\nAndroid XR is designed to make it easy for all users to navigate, understand,\nand enjoy your app. \nAlas, your browser doesn't support HTML5 video. That's OK! You can still [download the video](/static/videos/design/ui/xr/xr-accessible-design.mp4) and watch it with a video player.\n\n**System features** . Android XR includes mobile and large-screen accessibility\nfeatures such as voice to text, live captions, color inversion and correction,\nmagnification, and [dwell control](https://support.google.com/accessibility/android/answer/7071579). The platform is also adapted\nfor [Google's TalkBack screen reader](/guide/topics/ui/accessibility/apps#describe-ui-element).\n\n**Colors and lighting** . Provide sufficient [color contrast](https://m3.material.io/foundations/designing/color-contrast) to\naid users with color vision differences. Keep contrast ratios for readability,\nespecially if you use any transparent backgrounds. Use dimming to create\ncontrast between your app and the user's surroundings. Avoid sudden shifts in\nbrightness or color to prevent eye discomfort.\n\n**Consider dynamic size and scale** . Larger UI and pointer [targets](/design/ui/xr/guides/visual-design#targets-android) make it\neasier for users to select and manipulate elements in space. If you are building\nan Android app, it will automatically scale when users move or resize it.\n\n**Reduce cognitive load**. Present users with a limited number of choices at a\ntime. Offer visual or audio feedback to confirm actions. Reveal advanced\nfeatures gradually to avoid overwhelming users with excessive information.\n\n**Design for both direct and distance interactions**, so users can comfortably\ninteract with objects near and far. Users should be able to pick up a virtual\ntool, press a button, or resize a 3D object whether it's in arm's reach or\nfurther away.\n\n[Learn about accessible multimodal inputs](/design/ui/xr/guides/foundations#design-multimodal).\n\n*** ** * ** ***\n\nOpenXR™ and the OpenXR logo are trademarks owned\nby The Khronos Group Inc. and are registered as a trademark in China,\nthe European Union, Japan and the United Kingdom."]]