The Android XR Interaction Framework (AXRIF) provides familiar, high-level, opinionated interactions for OpenXR apps on Android XR. AXRIF bridges the gap between system-level interactions and in-app interactions, offering an intuitive and cohesive way to handle user input.
Building natural and comfortable interaction design from scratch is difficult and can consume a large portion of your development time. Use AXRIF to inherit the exact input, interaction, and transition behaviors of the Android XR system in your own apps.
AXRIF provides your app with the following key features:
- Seamless multimodal transitions: AXRIF features a built-in Transition Manager that handles automatic transitions between peripherals, hands, eyes, and direct touch.
- Future-proof compatibility: When interaction modes are added in Android XR releases, AXRIF automatically includes support for them with minimal developer effort.
- Flexible control: You can choose to enable only the specific interaction modes your app needs, and you can override the framework with the API if you need to temporarily take manual control of input logic.
Supported input modalities
AXRIF supports a comprehensive suite of input modalities. Transitions between all supported modalities are available and handled automatically.
| Modality | Description |
|---|---|
XR Controllers |
Use 6DoF controllers to point and select from a distance. |
Gaze + Pinch |
Use eyes to aim and hands to select. You can also configure AXRIF to use head to aim rather than eyes. |
Hand Poke |
Reach out and poke to directly interact with UI elements. |
Hand Raycast |
Use hands to point and select from a distance. |
Mouse |
Supports familiar mouse interactions like click and scroll, projected into your 3D scene. |
Architecture at a glance
To promote better performance and cross-engine compatibility, AXRIF has two primary components:
- Core library: This component houses the universally-shared, engine-agnostic logic for interactions.
- Engine plug-ins: These integration layers convert native data types into the respective engine's analogous structures. For example, the AXRIF Unity Package integrates directly with Unity's XR Interaction Toolkit (XRIT) to maximize compatibility with the input systems you are already familiar with.
Get started
See the getting started guide for instructions on setting up and trying out AXRIF with Unity.