How to... ?

A collection of frequently asked questions, and where to find the answers

Connect

All Clients have to connect to a Replication Server, which can run locally or in our cloud.

Spawn the player

There is no specific place to designate a special player Prefab. Any script can create it, by just instantiating a Prefab.

Spawn or destroy a network entity

Spawning is done by simply instantiating a Prefab that has a CoherenceSync, using the Instantiate() API. Same for removing entities, using the Destroy() API. Read more about instantiating and destroying.

Synchronise a value over the network

Syncing individual values of the supported types can simply be done using the CoherenceSync component. If a type is not supported, you can send the value using a Network Command as an index, or by reducing it to a byte array, and reconstructing it on arrival.

Find other connected Clients

ClientConnections provide a view on who is connected at any given time.

Send a message to another Client

Move all connected Clients to a new scene together

To make all connected Clients move to a new scene, you can create a method that loads the scene and mark it as a Network Command. Then, from one of the Clients you would send that Network Command on all others (and to themselves) by selecting as destination MessageTarget.All.

Run logic on the server

Do client-side prediction

To allow client-side prediction, start by disabling automatic updates on the properties you want to do prediction for. Implement your prediction code, and listen for incoming updates by hooking into update callbacks. When the update arrives, you can reconcile the predicted state and the new, incoming sample in a way that fits your game best.

Create a chat

To create a simple in-game chat functionality, you can leverage Network Commands to send strings (or byte arrays) to all connected Clients.

Last updated