2. Setting up Photon Unity Networking

In this tutorial, you will prepare for creating a shared experience using Photon Unity Networking (PUN). You will learn how to create a PUN app, import PUN assets into your Unity project, and connect your Unity project to the PUN app.

Objectives

  • Learn how to create a PUN app
  • Learn how to find and import the PUN assets
  • Learn how to connect your Unity project to the PUN app

Creating and preparing the Unity project

In this section, you will create a new Unity project and get it ready for MRTK development.

First, follow the Initializing your project and deploying your first application, excluding the Build your application to your device instructions, which includes the following steps:

  1. Creating the Unity project and give it a suitable name, for example, MRTK Tutorials
  2. Switching the build platform
  3. Importing the TextMeshPro Essential Resources
  4. Importing the Mixed Reality Toolkit
  5. Configuring the Unity project
  6. Creating and configuring the scene and give the scene a suitable name, for example, MultiUserCapabilities

Then follow the Changing the Spatial Awareness Display Option instructions to:

  1. Change the MRTK configuration profile for to the DefaultHoloLens2ConfigurationProfile
  2. Change the spatial awareness mesh display options to Occlusion.

Enabling additional capabilities

In the Unity menu, select Edit > Project Settings... to open the Player Settings window, then locate the Player > Publishing Settings section:

Unity Player settings

In the Publishing Settings, scroll down to the Capabilities section and double-check that the InternetClient, Microphone, SpatialPerception, and GazeInput capabilities, which you enabled during the Configuring the Unity project step above, are enabled.

Then enable the following additional capabilities:

  • InternetClientServer capability
  • PrivateNetworkClientServer capability

Unity Capabilities settings

Installing inbuilt Unity packages

In the Unity menu, select Window > Package Manager to open the Package Manager window, then select AR Foundation and click the Install button to install the package:

Unity Package Manager with AR Foundation selected

Note

You are installing the AR Foundation package because it is required by the Azure Spatial Anchors SDK you will import in the next section.

Importing the tutorial assets

Add AzurespatialAnchors SDK V2.7.1 into your unity project, to add the packages please follow this tutorial

Download and import the following Unity custom packages in the order they are listed:

After you have imported the tutorial assets your Project window should look similar to this:

Unity Hierarchy, Scene, and Project windows after importing the tutorial assets

Tip

 For a reminder on how to import a Unity custom package, you can refer to the Importing the tutorial assets instructions.

Note

After importing the MultiUserCapabilities tutorial assets package, you will see several CS0246 errors in the Console window stating that the type or namespace is missing. This is expected and will be resolved in the next section when you import the PUN assets.

Importing the PUN assets

In the Unity menu, select Window > Asset Store to open the Asset Store window, search for and select PUN 2 - FREE from Exit Games, click the Download button to download the asset package to your Unity account.

When the download is complete, click the Import button to open the Import Unity Package window:

Unity Asset Store with PUN 2 - Free

In the Import Unity Package window, click the All button to ensure all the assets are selected, then click the Import button to import the assets:

Unity with PUN 2 import window

Once Unity has completed the import process, the Pun Wizard window will appear with the PUN Setup menu loaded, you can ignore or close this window for now:

Unity with PUN Setup window

Creating the PUN application

In this section, you will create a Photon account, if you don't already have one, and create a new PUN app.

Navigate to the Photon dashboard and sign in if you already have an account you want to use, otherwise, click the Create One link and follow the instructions to register a new account:

Photon login page

Once signed in, click the Create a New App button:

Photon dashboard welcome page

On the Create a New Application page, enter the following values:

  • For Photon Type, select PUN
  • For Name, enter a suitable name, for example, MRTK Tutorials
  • For Description, optionally enter a suitable description
  • For Url, leave the field empty

Then click the Create button to create the new app:

Photon create application page

Once Photon has finished the creation process, the new PUN app will appear on your dashboard:

Photon application page

Connecting the Unity project to the PUN application

In this section, you will connect your Unity project to the PUN app you created in the previous section.

On the Photon dashboard, click the App ID field to reveal the app ID, then copy it to your clipboard:

Photon application page with App Id selected

In the Unity menu, select Window > Photon Unity Networking > PUN Wizard to open the Pun Wizard window, click the Setup Project button to open the PUN Setup menu, and configure it as follows:

  • In the AppId or Email field, paste the PUN app ID you copied in the previous step

Then click the Setup Project button to apply the app ID:

Unity PUN Setup window with AppId filled in

Once Unity has finished the PUN setup process, the PUN Setup menu will display the message Done! and automatically select the PhotonServerSettings asset in the Project window, so its properties are displayed in the Inspector window:

Unity PUN Setup window with Setup Project applied

Congratulations

You have successfully created a PUN app and connected it to your Unity project. Your next step is to allow connections with other users so that multiple users can see each other.