Unity and Photon Networking Support

With Humanoid Control you can extend your scene to a multiplayer environment very easily.

Setup

In the Humanoid Preferences you can select which networking package you want to use. Go to Edit Menu->Preferences->Humanoid->Networking Support and select the desired networking package.

The Photon Networking option is only available when the Photon Networking package has been imported into the project.

Scene

The starting point is a single player environment. To make this into a networked multiplayer environment you need to add the Networking Starter component to the scene. You can find this in the Humanoid->Prefabs->Networking folder.

This script will take care of all networking. At launch, it scans the scene for Humanoids and recreates the Humanoid at each remote client, synchronizing all movements and actions over the network.

Configuration

For the configuration we have two options: Cloud Server and Own Server. The latter is not yet available for Photon Networking.

Warning: the standard free Unity Networking Service is very limited in its bandwidth. With more two players and a high send rate, you will soon see disconnects. For this reason we advise to the a paid service for Unity Networking using the Cloud Server or to use your Own Server.

Cloud Server

In this option you will use a server in the cloud, provided and hosted by a third party like Unity or Photon.

In the Cloud server option you can specify the following parameters:

Send Rate the number of updates per second communicated through the network
Room Name the name of the environment shared by the players
Game Version the version of the environment shared by the players
Own Server

With this option you host your own server. In this case you have the following parameters:

Send Rate the number of updates per second communicated through the network
Server IP Address the IP address of the server

Remote avatar

You can select an alternative avatar to be used on remote clients. This enables you to optimize the first person avatar for the local player (for example an avatar without a head and high-poly hands) while having an avatar optimized for third person at remote clients.

This avatar is a normal avatars with an Animator and a Humanoid Rig and without a Humanoid Control script.