# Tips and Recommendations

When developing multiplayer experiences you will need to run multiple instances of your game in order to test properly. You also need to make sure these instances can be restarted quickly, so you can iterate quickly.

**coherence** does not have a built-in solution for multiclient testing, but there are several options available to you, each with their own benefits and drawbacks.

## ParrelSync

ParrelSync is an open-source project which allows you to have multiple Editors open which share Assets and ProjectSettings using Symbolic links.

**Benefits**

* Short iteration times.
* Easily debuggable instances.

**Drawbacks**

* Requires you to have multiple Editors open.

**Caveats**

* All instances of the game must have identical schemas, which are NOT shared using ParrelSync. That means you **need to bake** on all open Editors.\
  Setting *Auto Bake on Enter Play Mode* to **true** in coherence *Settings* will alleviate this issue.
* EditorPrefs are not consistently shared between Editors.

### Best practice

* First, install the ParrelSync package as described in the [Installation Instructions](https://github.com/VeriorPies/ParrelSync#installation).
* Open *ParrelSync* -> *Clones Manager*. Create a new clone, and open it.
* Continue development in the original Editor.
* When you need to test, do the following for all open Editors: Bake, press play. Alternatively you can set *Auto Bake on Enter Play Mode* to **true**.

## Building an executable

The easiest method is to simply create a new build each time you want to test anything. You can launch any number of instances of that build, and have an instance running in the Editor as well.

**Benefits**

* Easy to distribute amongst team members.
* Well-understood workflow.

**Drawbacks**

* Long iteration time as you need to continuously make builds.
* Harder to debug the executables.

**Caveats**

* All instances of the game must have identical schemas, so remember to bake before building the executable.

## Multiplayer Play Mode

Unity has an experimental package called Multiplayer Play Mode (MPPM) available for 2023.1. As this is currently experimental, we do not officially recommend it - but it does show some promise and should be mentioned. This package allows a single Editor to run several instances of a game.

[MPPM Info](https://docs-multiplayer.unity3d.com/tools/current/mppm)

**Benefits**

* Short iteration times.
* No issues with schema incompatibility.

**Drawbacks**

* Experimental.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.coherence.io/0.10/get-started/build-and-run/testing-locally.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
