1 - Getting Started
- Step 0 - Create An Account
- Step 1 - Download SDK
- Step 2 - Check Unity Requirements
- Step 3 - Create An Empty Project
- Step 4 - Preparing Project For Fusion
- Step 5 - Importing The Fusion SDK
- Step 6 - Create An App ID
- Step 7 - Add An AppID
Fusion 101 will explain the initial steps required to start a Fusion project. A general understanding of Unity and C# is expected.
Fusion supports multiple network topologies.
- Server Mode: Dedicated server with public IP.
- Host Mode: One player is the host, all other players connect to them.
- Shared Mode: Cloud Room has
read more about topologies here
Which mode to choose is an important decision that you need to make early in development. The mode you choose will change the way you use Fusion and write multiplayer code on a fundamental level.
To decide which mode to use we recommend that you start with the Quadrant and pick the solution that best matches your game's genre.
This tutorial is for Server and Host Mode. For Shared Mode follow the fusion shared mode basics tutorial instead.
Step 0 - Create An Account
Before starting anything else, create an account with PhotonEngine HERE.
Step 1 - Download SDK
The latest SDK can be downloaded on the
Getting Started > SDK & Release Notes page.
click here to navigate to the page
Step 2 - Check Unity Requirements
Check your Unity version meets the minimum requirement for running Fusion.
The up-to-date requirements can be found on the
Getting Started > SDK & Release Notes in the
Click here to navigate to the page.
At the time of writing, the minimum requirement is Unity 2020.3.x LTS or above. If the version is older, please install the latest stable Unity version from the Unity Hub.
Step 3 - Create An Empty Project
Create an empty project.
N.B.: Fusion is a networking library and thus is agnostic to the Rendering Pipeline chosen; it works with all of them.
Step 4 - Preparing Project For Fusion
Before importing the Fusion SDK, the default Unity project settings require some tweaks.
Some of the Fusion settings will be saved in ScriptableObject Assets. For these settings to remain legible at all times, the asset serialization's mode has to be set to
Edit > Project Settings > Editor > Asset Serialization > Mode.
The Fusion IL Weaver generates low-level netcode and injects it into the Assembly-CSharp.dll. To achieve this, the Mono Cecil package is used. The package can be installed via the Unity Package Manager.
Window > Package Manager > Click the + icon > Add package from git URL and add
Step 5 - Importing The Fusion SDK
With steps 1 through 5 done, the project is now ready to import the Fusion SDK. The SDK is provided as a .unitypackage file and can be imported with the
Assets > Import Package > Custom Package tool. Simply navigate to the location where the SDK was downloaded and trigger the import.
Step 6 - Create An App ID
Once the import is finished, the Fusion Hub wizard will pop up. The
Welcome screen will ask for an App ID. Before filling it out, a fresh App ID needs to be created.
An App ID is the application identifier used to:
- Identify an application;
- Associate the application with the correct type of server plugin - in this case Fusion; and,
- connect players using the application.
To create a new App ID, login and navigate to the PhotonEngine dashboard or Click Here.
N.B.: a (free) registered account is necessary for this procedure.
First, click on
Create a New App.
Photon Fusion in the
Photon Type drop-down, fill out form and click on
Step 7 - Add An AppID
Copy the App Id shown on the dashboard.
Insert in the
Fusion App ID field found in the Fusion Hub Welcome tab.
Congratulations! The project is now ready for development.