Oculus Go Development

On 6/23/20 Oculus announced plans to sunset Oculus Go. Information about dates and alternatives can be found in the Oculus Go introduction.

Oculus Quest Development

All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.

App Deep Linking with Platform Solutions

Note: You are viewing the Unity version of this topic. To view this topic for native development, see App Deep Linking with Platform Solutions (Native). To view this topic for Unreal development, see App Deep Linking with Platform Solutions (Unreal).

App deep linking allows you to launch users directly into an app event or gameplay mode.

For example, you may have two separate applications, one single player and one multiplayer. If you implement App Deep linking in both apps, a user can join a multiplayer session from the single player app.

Deep linking requires an integration in both the app the request originates from, and the target app. The next sections describes the implementation required for both apps.

Originating App Implementation

The originating app will call the LaunchOtherApp method to launch the other application.

Platform.Application.LaunchOtherApp(appId, deeplink_options)

This method launches a different application in the user’s library. If the user does not have that application installed, they will be taken to that app’s page in the Oculus Store

Parameters:

ParameterDescription
appIDThe ID of the app to launch
deeplink_optionsAdditional configuration for this requests. Optional.

For example, a request from a native application may resemble:

var options = new ApplicationOptions(); options.SetDeeplinkMessage("abc");
Platform.Application.LaunchOtherApp(app_id, options);

Once the request has been made, you should check to see if the target application launched successfully. The request will only succeed if the user is both entitled to (owns) and has installed the target app. If the user does not own the app, or has not downloaded the app, they will be directed to the product information page in 2D Oculus store where they can purchase and download the app.

Note: Rift only - After receiving the notification that the target app was launched successfully, you must quit the originating app yourself before the target app can continue.

Receiving App Implementation

Apps launched by ovr_Application_LaunchOtherApp() will launch as normal, but will receive a notification of type ovrMessage_Notification_ApplicationLifecycle_LaunchIntentChanged on the message queue.

On app, startup check for this notification and call ovr_ApplicationLifecycle_GetLaunchDetails() to retrieve information about how the app was launched. All notifications generated by this API will have a launch type of DEEPLINK. This information allows you to direct the user to the proper app location.

If the user is on Rift and the user does not own the app, the LaunchOtherApp request returns an error, which should be handled appropriately in your code. If the user does own the app, after receiving the notification that the target app was launched successfully, you must quit the originating app yourself before the target app can continue.

If the user is on Quest, and the user does not own the app, or has not downloaded the app, they will be directed to the product information page in the Oculus store where they can purchase and download the app.