Applicable XR devices This guidance helps you build experiences for these types of XR devices. [Learn about XR device types →](https://developer.android.com/develop/xr/devices) ![](https://developer.android.com/static/images/develop/xr/xr-headsets-icon.svg) XR Headsets [](https://developer.android.com/develop/xr/devices#xr-headsets) ![](https://developer.android.com/static/images/develop/xr/xr-glasses-icon.svg) Wired XR Glasses [](https://developer.android.com/develop/xr/devices#xr-glasses) ![](https://developer.android.com/static/images/develop/xr/ai-glasses-icon.svg) Audio \&  
Display Glasses [](https://developer.android.com/develop/xr/devices#audio-display) [Learn about XR device types →](https://developer.android.com/develop/xr/devices)

<br />

The Jetpack XR SDK includes all the tools and libraries you need to build
immersive and augmented experiences for Android XR devices.

## Build fully-immersive experiences

Target dedicated, high-fidelity devices such as XR headsets and wired XR
glasses. Use modern Android development tools like [Kotlin](https://developer.android.com/develop/ui/compose/kotlin) and [Compose](https://developer.android.com/compose),
as well as previous generation tools such as Java and [Views](https://developer.android.com/develop/ui/views/layout/declaring-layout). You can
[spatialize your UI](https://developer.android.com/develop/xr/jetpack-xr-sdk/ui-compose), [load and render 3D models](https://developer.android.com/develop/xr/jetpack-xr-sdk/add-3d-models) and semantically
understand the real world.

If you already have a mobile or large screen app on Android, the Jetpack XR SDK
[brings your app into a new dimension](https://developer.android.com/develop/xr/jetpack-xr-sdk/add-xr-to-existing) by spatializing existing layouts and
enhancing your experiences with 3D models and immersive environments. See our
[quality guidelines](https://developer.android.com/docs/quality-guidelines/android-xr) for our recommendations on spatializing your existing
Android app.
[![](https://developer.android.com/static/images/picto-icons/set-square.svg) Go build immersive Get started building immersive experiences for XR headsets and XR glasses.](https://developer.android.com/develop/xr/jetpack-xr-sdk/add-xr-to-existing) Alas, your browser doesn't support HTML5 video. That's OK! You can still [download the
video](https://developer.android.com/static/images/develop/xr/jetpack-xr-sdk/index/jetpack-xr-sdk.mp4) and watch it with a video player.

## Build augmented and helpful experiences

Target lightweight and stylish audio glasses and display glasses. Use modern
Android development tools like [Kotlin](https://developer.android.com/develop/ui/compose/kotlin) and [Jetpack Compose Glimmer](https://developer.android.com/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer). Use
APIs that facilitate projected app experiences from a phone to the glasses.
[![](https://developer.android.com/static/images/picto-icons/set-square.svg) Go build augmented Get started building augmented experiences for audio glasses and display glasses.](https://developer.android.com/develop/xr/jetpack-xr-sdk/glasses/build) Alas, your browser doesn't support HTML5 video. That's OK! You can still [download the
video](https://developer.android.com/static/videos/xr/augmented-experiences.mp4) and watch it with a video player.

## Use Jetpack libraries

The Jetpack XR SDK libraries provide a comprehensive toolkit for building [rich,
immersive experiences](https://developer.android.com/design/ui/xr/guides/foundations), [lightweight, augmented experiences](https://developer.android.com/design/ui/ai-glasses) and
everything in between. The following libraries are part of the Jetpack XR SDK:

- [**Jetpack Compose for XR**](https://developer.android.com/develop/xr/jetpack-xr-sdk#jetpack-compose): Declaratively build spatial UI layouts that take advantage of Android XR's spatial capabilities.
- [**Material Design for XR**](https://developer.android.com/develop/xr/jetpack-xr-sdk#material-design): Build with Material components and layouts that adapt for XR.
- [**Jetpack SceneCore**](https://developer.android.com/develop/xr/jetpack-xr-sdk#jetpack-scenecore): Build and manipulate the Android XR scene graph with 3D content.
- [**ARCore for Jetpack XR**](https://developer.android.com/develop/xr/jetpack-xr-sdk#arcore-jetpack): Bring digital content into the real world with perception capabilities.
- [**Jetpack Compose Glimmer**](https://developer.android.com/develop/xr/jetpack-xr-sdk#jetpack-compose-glimmer): A UI toolkit for building augmented Android XR experiences, optimized for display glasses.
- [**Jetpack Projected**](https://developer.android.com/develop/xr/jetpack-xr-sdk#jetpack-projected): APIs that facilitate projected app experiences from a phone to audio glasses or display glasses.

### API development during Developer Preview

Jetpack XR SDK libraries are part of the Android XR Developer Preview, and these
APIs are still under development. See the library release notes for known
issues:

- [Jetpack Compose for XR Release Notes](https://developer.android.com/jetpack/androidx/releases/xr-compose)
- [ARCore for Jetpack XR Release Notes](https://developer.android.com/jetpack/androidx/releases/xr-arcore)
- [Jetpack SceneCore Release Notes](https://developer.android.com/jetpack/androidx/releases/xr-scenecore)
- [XR Runtime Release Notes](https://developer.android.com/jetpack/androidx/releases/xr-runtime)
- [Jetpack Compose Glimmer Release Notes](https://developer.android.com/jetpack/androidx/releases/xr-glimmer)
- [Jetpack Projected Release Notes](https://developer.android.com/jetpack/androidx/releases/xr-projected)

If you run into an issue that isn't on one of theses lists, [please report a bug
or submit feedback](https://developer.android.com/develop/xr/support).

### Jetpack Compose for XR

Applicable XR devices This library helps you build experiences for these types of XR devices. [Learn about XR device types →](https://developer.android.com/develop/xr/devices) ![](https://developer.android.com/static/images/develop/xr/xr-headsets-icon.svg) XR Headsets [](https://developer.android.com/develop/xr/devices#xr-headsets) ![](https://developer.android.com/static/images/develop/xr/xr-glasses-icon.svg) Wired XR Glasses [](https://developer.android.com/develop/xr/devices#xr-glasses) [Learn about XR device types →](https://developer.android.com/develop/xr/devices)

With Jetpack Compose for XR, you can use spatialized components like [rows](https://developer.android.com/reference/kotlin/androidx/xr/compose/subspace/SpatialRow.composable)
and [columns](https://developer.android.com/reference/kotlin/androidx/xr/compose/subspace/SpatialColumn.composable) to build spatial UI and layouts using a [familiar,
declarative Compose model](https://developer.android.com/develop/ui/compose/layouts/basics).

This library also provides [subspace composeables](https://developer.android.com/reference/kotlin/androidx/xr/compose/subspace/SubspaceComposable), such as [spatial
panels](https://developer.android.com/reference/kotlin/androidx/xr/compose/subspace/SpatialPanel.composable) and [orbiters](https://developer.android.com/reference/kotlin/androidx/xr/compose/spatial/Orbiter.composable), which let you place your existing 2D Compose or
Views-based UI in a spatial layout. Other subspace composeables handle other
types of spatial use cases, such as [`SceneCoreEntity`](https://developer.android.com/reference/kotlin/androidx/xr/compose/subspace/SceneCoreEntity.composable) that lets you [place
entities](https://developer.android.com/develop/xr/jetpack-xr-sdk/ui-compose#use-scenecoreentity) like 3D models relative to your UI.
![Develop UI XR components orbiter generic example](https://developer.android.com/static/images/develop/xr/jetpack-xr-sdk/index/develop-ui-xr-component-orbiter-generic.jpg)

You can use Jetpack Compose for XR regardless of whether you're [spatializing
your existing Android app](https://developer.android.com/develop/xr/jetpack-xr-sdk/add-xr-to-existing) or creating a new XR app from scratch.

For more information, [see the developer guide for spatial UI](https://developer.android.com/develop/xr/jetpack-xr-sdk/ui-compose) and [the
library and API reference documentation](https://developer.android.com/jetpack/androidx/releases/xr-compose).

### Material Design for XR

Applicable XR devices This library helps you build experiences for these types of XR devices. [Learn about XR device types →](https://developer.android.com/develop/xr/devices) ![](https://developer.android.com/static/images/develop/xr/xr-headsets-icon.svg) XR Headsets [](https://developer.android.com/develop/xr/devices#xr-headsets) ![](https://developer.android.com/static/images/develop/xr/xr-glasses-icon.svg) Wired XR Glasses [](https://developer.android.com/develop/xr/devices#xr-glasses) [Learn about XR device types →](https://developer.android.com/develop/xr/devices)

Material Design provides components and layouts that adapt for XR. If you're
building with [adaptive layouts](https://developer.android.com/develop/ui/compose/layouts/adaptive). [Learn more about implementing Material
Design for XR](https://developer.android.com/develop/xr/jetpack-xr-sdk/material-design).

### Jetpack SceneCore

Applicable XR devices This library helps you build experiences for these types of XR devices. [Learn about XR device types →](https://developer.android.com/develop/xr/devices) ![](https://developer.android.com/static/images/develop/xr/xr-headsets-icon.svg) XR Headsets [](https://developer.android.com/develop/xr/devices#xr-headsets) ![](https://developer.android.com/static/images/develop/xr/xr-glasses-icon.svg) Wired XR Glasses [](https://developer.android.com/develop/xr/devices#xr-glasses) [Learn about XR device types →](https://developer.android.com/develop/xr/devices)

The Jetpack SceneCore library lets you place and arrange 3D content, defined by
[entities](https://developer.android.com/develop/xr/jetpack-xr-sdk/work-with-entities), relative to each other and your environment. With SceneCore, you
can:

- Set [spatial environments](https://developer.android.com/design/ui/xr/guides/environments)
- Create instances of a [`PanelEntity`](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/PanelEntity)
- [Place and animate 3D models](https://developer.android.com/develop/xr/jetpack-xr-sdk/add-3d-models)
- [Specify spatial audio sources](https://developer.android.com/develop/xr/jetpack-xr-sdk/add-spatial-audio)
- [Add Components to entities that make them movable, resizable, and can be
  anchored to the real world](https://developer.android.com/develop/xr/jetpack-xr-sdk/work-with-entities)

The Jetpack SceneCore library also provides support for spatializing
applications built using Views. See our [guide to working with views](https://developer.android.com/develop/xr/jetpack-xr-sdk/develop-ui-views) for
more details.

View the [API reference](https://developer.android.com/reference/kotlin/androidx/xr/scenecore/package-summary) for more detailed information.

### ARCore for Jetpack XR

Applicable XR devices This library helps you build experiences for these types of XR devices. [Learn about XR device types →](https://developer.android.com/develop/xr/devices) ![](https://developer.android.com/static/images/develop/xr/xr-headsets-icon.svg) XR Headsets [](https://developer.android.com/develop/xr/devices#xr-headsets) ![](https://developer.android.com/static/images/develop/xr/xr-glasses-icon.svg) Wired XR Glasses [](https://developer.android.com/develop/xr/devices#xr-glasses) ![](https://developer.android.com/static/images/develop/xr/ai-glasses-icon.svg) Audio \&  
Display Glasses [](https://developer.android.com/develop/xr/devices#audio-display) [Learn about XR device types →](https://developer.android.com/develop/xr/devices)

Inspired by the existing [ARCore library](https://developers.google.com/ar), the ARCore for
Jetpack XR library provides capabilities for blending digital content with the
real world. This library includes motion tracking, persistent anchors, hit
testing, and plane identification with semantic labeling (for example, floor,
walls, and tabletops). This library leverages the underlying perception stack
powered by [OpenXR](https://developer.android.com/develop/xr/openxr), which ensures compatibility with a wide range of
devices and helping to future-proof apps.

View [Work with ARCore for Jetpack XR](https://developer.android.com/develop/xr/jetpack-xr-sdk/work-with-arcore) for more detailed information.

> [!WARNING]
> **Preview:** Unlike its predecessor, ARCore for Jetpack XR currently only supports Android XR.

### Jetpack Compose Glimmer

Applicable XR devices This library helps you build experiences for these types of XR devices. [Learn about XR device types →](https://developer.android.com/develop/xr/devices) ![](https://developer.android.com/static/images/develop/xr/xr-glasses-icon.svg) Wired XR Glasses [](https://developer.android.com/develop/xr/devices#xr-glasses) ![](https://developer.android.com/static/images/develop/xr/ai-glasses-icon.svg) Display Glasses [](https://developer.android.com/develop/xr/devices#audio-display) [Learn about XR device types →](https://developer.android.com/develop/xr/devices)

Jetpack Compose Glimmer is a UI toolkit for building augmented Android XR
experiences, optimized for display glasses. Build beautiful, minimal, and
comfortable UI for devices that are worn all day.

- **Built for glanceability and legibility** : Unlike phones, the primary canvas is an optical see-through display---it's transparent. Jetpack Compose Glimmer provides [glasses-specific theming](https://developer.android.com/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/whats-included#theme), [simplified color
  palettes](https://developer.android.com/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/whats-included#colors), and [typography](https://developer.android.com/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/whats-included#typography) to make your content readable, fast to process, and never distracting.
- **Optimized for wearable-specific interactions** : We've optimized interaction models for how people use glasses. [Jetpack Compose Glimmer
  components](https://developer.android.com/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/whats-included#components) feature [clear focus states](https://developer.android.com/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/focus#focus-states), like optimized outlines instead of distracting ripple effects, and are built to handle common physical inputs like taps, swipes on the frame, and of course, voice.
- **Use familiar declarative UI patterns** : Because Jetpack Compose Glimmer is built entirely on [Jetpack Compose](https://developer.android.com/compose), you can use everything you already know about declarative UI building in Android. We provide a full set of core, prebuilt Composable functions---things like [Text](https://developer.android.com/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/text), [Icon](https://developer.android.com/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/icons), [Button](https://developer.android.com/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/buttons), and specialized components like [TitleChip](https://developer.android.com/develop/xr/jetpack-xr-sdk/jetpack-compose-glimmer/title-chips)---all optimized for the glasses environment.

![Develop UI XR components orbiter generic example](https://developer.android.com/static/images/develop/xr/jetpack-xr-sdk/glimmer/glimmer-overview.jpg)

### Jetpack Projected

Applicable XR devices This library helps you build experiences for these types of XR devices. [Learn about XR device types →](https://developer.android.com/develop/xr/devices) ![](https://developer.android.com/static/images/develop/xr/ai-glasses-icon.svg) Audio \&  
Display Glasses [](https://developer.android.com/develop/xr/devices#audio-display) [Learn about XR device types →](https://developer.android.com/develop/xr/devices)

When you [build for audio glasses and display glasses](https://developer.android.com/develop/xr/jetpack-xr-sdk/glasses/build), your app runs on a
companion *host device*, such as an Android phone, that projects your app's XR
experiences. Jetpack Projected lets these Android host devices communicate with
audio or display glasses if the host devices have XR projected capabilities.

- **Access projected device hardware** : A device context tied to the projected device (audio glasses or display glasses). This [projected context](https://developer.android.com/develop/xr/jetpack-xr-sdk/glasses/support-different-types#projected-context) provides access to projected device hardware, such as the camera. Dedicated activities created specifically to display on audio or display glasses [already function as a projected context](https://developer.android.com/develop/xr/jetpack-xr-sdk/access-hardware-projected-context#glasses-activity). If another part of your app (such as a phone activity or a service) needs to access the glasses' hardware, it can [obtain a projected context](https://developer.android.com/develop/xr/jetpack-xr-sdk/access-hardware-projected-context#phone-activity-service).
- **Simplify permission requests** : Audio glasses and display glasses follow the [standard Android permission model](https://developer.android.com/guide/topics/permissions/overview), with glasses-specific permissions that must be [requested at runtime](https://developer.android.com/develop/xr/jetpack-xr-sdk/request-hardware-permissions#request-permissions) before your app can access device hardware, such as the camera. Permission helper streamlines these permission request mechanisms across both the phone and glasses interfaces to provide a consistent request experience.
- **Check device and display capabilities**: Check if the projected device has a display and the state of the display to present visuals. Adapt your app based on capabilities of the device. For example, you might want to provide more audio context if the device has no display or the display is off.
- **Access app camera actions**: Your app can access user camera actions, for example to turn the camera on or off in a video streaming app.

## Test XR app experiences with the Android XR Emulator

The Android XR Emulator is a specialized version of the Android Emulator that is
designed for XR app development. It lets you test and debug your XR apps within
the familiar environment of Android Studio. Create virtual devices for any type
of Android XR device, from immersive devices like XR headsets and wired XR
glasses, to intelligent eyewear like audio and display glasses.

When you're ready to run and debug your app, see these guides to get started:

- [Create virtual devices for XR headsets and XR glasses](https://developer.android.com/develop/xr/jetpack-xr-sdk/run/create-avds/xr-headsets-glasses)
- [Create virtual devices for audio and display glasses](https://developer.android.com/develop/xr/jetpack-xr-sdk/run/create-avds/glasses)

*** ** * ** ***

OpenXR™ and the OpenXR logo are trademarks owned
by The Khronos Group Inc. and are registered as a trademark in China,
the European Union, Japan and the United Kingdom.