Enable Focus Awareness (Deprecated)
Updated: Jul 31, 2024
Mobile SDK Deprecation
As of August 31, 2022, Mobile SDK and the VrApi library are no longer supported. Future updates will be delivered through OpenXR extensions and our OpenXR Mobile SDK, not through any new updates to Meta Mobile or PC APIs. - New apps must use OpenXR unless a waiver is granted.
- New apps will not have access to Meta Native Mobile APIs, but existing apps can continue using them.
- No assistance will be provided for creating new apps with Meta Native APIs. You will find recommendations for migrating existing apps to OpenXR in the developer guides.
- Only critical security, privacy, or safety issues in Meta Native APIs will be addressed.
- Any testing of Meta Native Mobile will be restricted to automated QA tests, only to ensure core features remain functional.
Focus awareness is a system feature that allows the system UI to appear as an overlay on top of an app without requiring it to be paused. The purpose of this feature is to let the app take appropriate action when the system UI appears. For example, when a system UI appears on top, the app pauses the gameplay. It uses the concept of input focus, which is a system for tracking whether the user is focused on app or elsewhere, to correctly handle the time when the app is running but the user’s focus is elsewhere.
This feature can be useful for many apps. For example, multiplayer apps can use this feature to continue to process network messages while the system UI overlay is active.

Enable Focus Awareness for Native Apps
All Meta Quest apps must be focus aware for the Meta Horizon Store to accept it. Therefore, we’ve enabled focus awareness, by default. This ensures users can reliably access the universal menu and system actions as overlays without interrupting the app.
User experience guidelines
To ensure your app operates smoothly with overlays, follow these guidelines:
- Application experience continuity: When a system UI appears, the app continues running. Users expect a seamless experience, even with overlays. For example, if a player climbs a ladder when the universal menu appears, they should maintain their grip rather than fall.
- Prevent the loss of progress: Users may expect the app to handle overlay content in a way that prevents losing progress. For fast-paced single-player games, consider pausing gameplay to prevent loss of a level. In multiplayer games, continue as usual to avoid disrupting other players’ experiences. Media consumption experiences should continue, as users often bring up the universal menu to multitask and expect playback to proceed while they handle secondary tasks.
- Hide input affordances and near-field objects: The system renders overlay UI in the user’s personal space of about two meters. Hide any input affordances or objects displayed closer than this distance, such as in-app menus, to prevent visual disparities.
- Adjust audio volume: Lower the volume or mute audio playback during gameplay to signal when users interact with the system UI instead of the app.
- Indicating presence to remote users: For multi-user experiences, notify nearby users when someone interacts with the system UI. This helps others understand why a user might seem unresponsive.