# Installation

Requirements

### Game engine support

**coherence** currently supports Unity. For custom engine integration,[ please contact our developer relations team](mailto:devrel@coherence.io). For updates regarding Unreal Engine support, please check the [Unreal Engine support](https://docs.coherence.io/0.10/additional-resources/unreal-engine-support) page.

For custom engine integration,[ please contact our developer relations team](mailto:devrel@coherence.io).

### Unity requirements

* Unity 2020 LTS or 2021 LTS (2020.3.36f1 or later).
* A Windows, Linux or macOS system.

## Video Tutorial

{% embed url="<https://www.youtube.com/watch?v=DXCdYSLpH6U>" %}

## Unity Package Manager

### 1. Add the Scoped Registry

First, open Unity's [Project Settings](https://docs.unity3d.com/Manual/comp-ManagerGroup.html).

![](https://4229720839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdBiAEtFeZKdAwRyJ9MEL%2Fuploads%2F9H13jIQYSjQbykJIExmS%2Fimage.png?alt=media)

Under [Package Manager](https://docs.unity3d.com/Manual/class-PackageManager.html), add a new Scoped Registry with the following information:

* Name: `coherence`
* URL: `https://registry.npmjs.org`
* Scope(s): `io.coherence.sdk`
* Enable Preview / Pre-release Packages: `yes`

![Package Manager Advanced Settings](https://4229720839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdBiAEtFeZKdAwRyJ9MEL%2Fuploads%2Fsc2zscyqws6xr8UQB1DO%2F01%20Set%20up%20Unity%20Package%20Manager.png?alt=media\&token=c2247d44-5bcf-4103-90ac-f5b12c679174)

### 2. Install coherence

Now open the *Window / Package Manager*.

![](https://4229720839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdBiAEtFeZKdAwRyJ9MEL%2Fuploads%2FBtOqSOzSv4XonF5LVEUt%2F02%20Open%20Package%20Manager.png?alt=media\&token=8e2c80ba-d7d7-4d52-b76d-0ea2f489648e)

Select My Registries in the *Packages* dropdown.

![](https://4229720839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdBiAEtFeZKdAwRyJ9MEL%2Fuploads%2FuEA5U4wH3EZgoTecLX4k%2Fimage.png?alt=media)

Under *coherence*, click *Install*.

![](https://4229720839-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdBiAEtFeZKdAwRyJ9MEL%2Fuploads%2F4LQjqKnKjZmnRg4QvPfy%2F03%20Install%20coherence.png?alt=media\&token=ae305a82-8120-41b6-b606-3a405829d025)

## Alternative method: edit *manifest.json* manually

Refer to Unity's instructions on [modifying your project manifest](https://docs.unity3d.com/Manual/upm-scoped.html#managing).&#x20;

Edit `<project-path>/Packages/manifest.json`.

Add an entry for the coherence sdk on the `dependencies` object, and for the scoped registry in the `scopedRegistries` array:

```javascript
{
  "dependencies": {
    "com.unity.collab-proxy": "1.3.9",
    "com.unity.ide.rider": "2.0.7",
    "com.unity.ide.visualstudio": "2.0.7",
    "com.unity.ide.vscode": "1.2.3",
    "com.unity.test-framework": "1.1.24",
    "com.unity.textmeshpro": "3.0.1",
    "com.unity.timeline": "1.4.6",
    "com.unity.ugui": "1.0.0",

    /*** ADD THIS START ***/
    "io.coherence.sdk": "0.9.0",
    /*** ADD THIS END ***/
        
    "com.unity.modules.ai": "1.0.0",
    "com.unity.modules.androidjni": "1.0.0",
    "com.unity.modules.animation": "1.0.0",
    "com.unity.modules.assetbundle": "1.0.0",
    "com.unity.modules.audio": "1.0.0",
    "com.unity.modules.cloth": "1.0.0",
    "com.unity.modules.director": "1.0.0",
    "com.unity.modules.imageconversion": "1.0.0",
    "com.unity.modules.imgui": "1.0.0",
    "com.unity.modules.jsonserialize": "1.0.0",
    "com.unity.modules.particlesystem": "1.0.0",
    "com.unity.modules.physics": "1.0.0",
    "com.unity.modules.physics2d": "1.0.0",
    "com.unity.modules.screencapture": "1.0.0",
    "com.unity.modules.terrain": "1.0.0",
    "com.unity.modules.terrainphysics": "1.0.0",
    "com.unity.modules.tilemap": "1.0.0",
    "com.unity.modules.ui": "1.0.0",
    "com.unity.modules.uielements": "1.0.0",
    "com.unity.modules.umbra": "1.0.0",
    "com.unity.modules.unityanalytics": "1.0.0",
    "com.unity.modules.unitywebrequest": "1.0.0",
    "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
    "com.unity.modules.unitywebrequestaudio": "1.0.0",
    "com.unity.modules.unitywebrequesttexture": "1.0.0",
    "com.unity.modules.unitywebrequestwww": "1.0.0",
    "com.unity.modules.vehicles": "1.0.0",
    "com.unity.modules.video": "1.0.0",
    "com.unity.modules.vr": "1.0.0",
    "com.unity.modules.wind": "1.0.0",
    "com.unity.modules.xr": "1.0.0"
  }, /* add this comma if not already present */
  
  /*** ADD THIS SECTION START ***/
  "scopedRegistries": [
    {
      "name": "coherence",
      "url": "https://registry.npmjs.org",
      "scopes": [
        "io.coherence.sdk"
      ]
    }
  ]
  /*** ADD THIS SECTION END ***/
  
}
```

You will then see the package in the *Package Manager* under *My Registries*.

{% hint style="success" %}
When you successfully install the **coherence** SDK the Welcome Window will show.
{% endhint %}
