Project Configuration

August 8, 2025 ยท View on GitHub

To make this project functional in the editor and on a device, some initial setup is required.

Application Configuration

To run the project and use platform services, create an application on the Meta Quest Developer Center.

For device operation, a Quest application is needed, and for editor operation, a PCVR application is required. The following sections describe the necessary configuration.

Data Use Checkup

To use platform features, request the necessary data in the Data Use Checkup section of the application.

data use checkup

Configure the required Data Usage:

  • User Id: Avatars, Destinations, Multiplayer, Oculus Username, Friends Invites, User Invite Others
  • In-App Purchases: IAP
  • User Profile: Avatars
  • Avatars: Avatars
  • Deep Linking: Destinations
  • Friends: Multiplayer
  • Blocked Users: Other - we use the Blocking API
  • Invites: Multiplayer, Friends Invite, User Invite Others

Add-ons

This application integrates in-app purchases (IAP) to demonstrate durable and consumable purchases. Here are the expected configurations.

First, open the Add-ons from the Platform Services:

Platform Services Add-ons

Then, set up the different Add-ons.

Add-ons

We created 3 durable SKUs, which can be purchased once, for the icons. We also created 1 consumable SKU, which can be purchased multiple times, for the pet cat.

Destinations

This application uses Destination configuration to enable users to invite friends to the same arenas and launch the application together.

First, open the Destinations from the Platform Services:

Platform Services Destinations

Then, set up the different destinations.

Destinations

The MainMenu destination is unique to the user, where no other player can join. It is set up as follows:

Destination Main Menu

The deeplink type is set to DISABLED, preventing users from joining this destination together.

Arenas

Different Arenas exist for each region:

Destination NA

This example is for the North American region. The deeplink type is ENABLE, and the deeplink data specifies the Photon region. The deeplink message format is specific to our project. The Group Launch capacity is set to a maximum of 6 players per Arena.

Here is a table for destination settings:

Destination API Name Deeplink Message
Main Menu MainMenu N/A
North America Arena {"Region":"usw"}
South America ArenaSA {"Region":"sa"}
Japan ArenaJP {"Region":"jp"}
Europe ArenaEU {"Region":"eu"}
Australia ArenaAU {"Region":"au"}
Asia ArenaAsia {"Region":"asia"}

Set the Application ID

Set the application ID in Unity.

The identifier (App ID) is found in the API section.

Application API

Place it in Assets/Resources/OculusPlatformSettings.asset.

Oculus Platform Settings Menu

Oculus Platform Settings

Photon Configuration

To get the sample working, configure Photon with your account and applications. The Photon base plan is free.

  • Visit photonengine.com and create an account.
  • From your Photon dashboard, click "Create A New App."
    • Create 2 apps: "Realtime" and "Voice."
  • Fill out the form, setting the type to "Photon Realtime," then click Create.
  • Fill out the form, setting the type to "Photon Voice," then click Create.

Your new app will now show on your Photon dashboard. Click the App ID to reveal the full string and copy the value for each app.

Open your Unity project and paste your Realtime App ID in Assets/Photon/Resources/PhotonAppSettings.asset.

Photon App Settings Location

Photon App Settings

Set the Voice App Id on the VoiceRecorder prefab:

Photon Voice Recorder Location

Photon Voice Settings

Additional Setup for Realtime

To allow players to play in different regions with reduced latency, we used the different regions Photon provides. To simplify the project, we limited the number of regions used. Whitelist the regions used by the application.

Photon Whitelist

The Photon Realtime transport should now work. Verify network traffic on your Photon account dashboard.

Upload to Release Channel

To use platform features, upload an initial build to a release channel. For instructions, visit the developer center. To test with other users, add them to the channel; more information is in the Add Users to Release Channel topic.

Once the initial build is uploaded, you can use any development build with the same application ID; there is no need to upload every build to test local changes.