Skip to main content

Permissions for Dual Render Fusion

Dual Render Fusion enables continuous use of the mobile phone screen. This allows users the ability to tap on the phone screen to respond to native Android pop-up permission prompts.

Application Permissions

When using Dual Render Fusion, application permissions may be requested at any time, but the Camera permission must be requested and authorized prior to use. Application camera permissions are required before making use of the Camera Access feature. Refer to this list of the required permissions per feature.

NOTE

If an application only uses the Camera permission to use Snapdragon Spaces features, it is recommended to authorize the Camera permissions only after verifying that the OpenXR Runtime application is installed, and before starting up OpenXR services. This can be achieved by subscribing to the On OpenXR Available on the Fusion Lifecycle Events component.

See also Requesting Permissions While the App is Running.

Any additional permissions required by an application, such as Microphone or Location, may be requested at any time while the app is running. An Android permission prompt popup will appear on the mobile device with authorization options presented to the user on the touchscreen.

Permissions for the OpenXR Runtime

WWhen an application is built with the Snapdragon Spaces SDK, the OpenXR Runtime application must have certain permissions granted to it for the Unity application to function correctly:

  • Camera permissions must be granted to the OpenXR Runtime to use most Snapdragon Spaces perception features.
    • If an app uses Hand Tracking, then the Camera permission needs to be requested and authorized prior to starting up any OpenXR services, as Hand Tracking is a core service which is intrinsically linked to the OpenXR Runtime.
    • If an app does not utilize Hand Tracking but wants to use another service which requires access to the Camera, the Camera permission would not need to be requested and authorized until just before activating the related feature.
  • The advanced setting Display over other apps must be allowed on the OpenXR Runtime. This allows the application to draw the Dual Render Fusion phone content on the phone's display correctly. Without this permission, the OpenXR content is displayed on both the glasses and the phone, and any Dual Render Fusion phone content will not be visible.

Checking OpenXR Runtime Installation and Application Camera Permissions

From Snapdragon Spaces SDK version 0.23.2, the Spaces Permission Helper component can be used for checking that the OpenXR Runtime application is installed, and that the Unity application has the required camera permissions. Refer to the Spaces Permission Helper component documentation for more detailed information, and the OpenXR Loading Test sample scene for an example of use.

Camera Permission for the OpenXR Runtime

When Dual Render Fusion is enabled, the Camera permission for the OpenXR Runtime application is checked:

If the Camera permission is not granted, it must be granted manually by the user. A popup dialog informing the user how to grant this permission will be shown.

Permission popup example

When the user selects the positive option, (in this case Yes), the home screen for the OpenXR Runtime will be opened and ask the user to grant camera permissions.

Display Over Other Apps Permission for the OpenXR Runtime

When Dual Render Fusion is enabled, the Display over other apps permission for the OpenXR Runtime application is checked:

If the Display over other apps permission is not granted, it must be granted manually by the user. A popup dialog informing the user how to grant this permission will be shown.

Permission popup example

When the user selects the positive option, (in this case Configure), a list of applications will be shown, and they must select Snapdragon Spaces Services from that list to allow the permission.

Request permission application listRequest permission application list
tip

After both of these permissions are granted, the application is closed and the user must restart it.

Localizing the Popup Dialog

The Dynamic OpenXR Loader component has two optional fields, Cannot Display Overlay Dialog Options Provider and Runtime Camera Permissions Dialog Options Provider.

Dialog Options Provider field

It can be used to customize the text shown to the user when the Display over other apps and camera permissions are not allowed.

See the entry on the Cannot Display Overlay Dialog Options Provider for usage instructions.