# Upgrade 1.1 -> 1.2

{% hint style="success" %}
Before upgrading, back up your project to avoid any data loss.
{% endhint %}

{% hint style="warning" %}
APIs marked as depracted on 1.0 and earlier are removed on 1.2. Make sure your project is not using them before upgrading.
{% endhint %}

<table data-full-width="false"><thead><tr><th width="311">Removed</th><th>Replacement</th></tr></thead><tbody><tr><td>Sample UI</td><td>coherence / Explore Samples / Connection Dialog(s)</td></tr><tr><td>CoherenceSyncConfigManager</td><td><a href="https://unityapi.coherence.io/docs/v1.2.0/api/Coherence.Editor.CoherenceSyncConfigUtils.html">CoherenceSyncConfigUtils</a>, <a href="https://unityapi.coherence.io/docs/v1.2.0/api/Coherence.Editor.CoherenceSyncUtils.html">CoherenceSyncUtils</a></td></tr><tr><td>Source Generator baking strategy</td><td>Falls back to Assets baking strategy</td></tr></tbody></table>

{% hint style="info" %}
Some components like the CoherenceBridgeSender don't exist anymore. If your project was using any of these legacy components, you might see warnings on the Console window while in Play Mode. You'll want to find the affected GameObjects and remove the missing component references. This is specially important for Prefabs, since missing components affect the ability to save them.
{% endhint %}

## Major changes for CoherenceSyncConfigRegistry

There has been a major refactor on how we deal with the registry.

First off, we're **deprecating the registry holding configs as sub-assets**. This has been the default up to 1.1, but on 1.2, it has been changed to store the configs in the *Assets/coherence/CoherenceSyncConfigs* folder.

For 1.2, we have avoided manual migration of existing subassets. You can trigger this operation from the registry inspector (*Assets/coherence/CoherenceSyncRegistry*). We don't automate this operation, since the extraction changes the asset GUIDs of the configs, which could lead to missing references. This is specially true if your project is referencing the configs directly, instead of going through the registry. Keep this in mind when you decide to extract existing subassets.

<figure><img src="https://2047761709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ffo6vUwbCyyb7fmwjPG0A%2Fuploads%2FFUDH38HaA7yn4vMFRwvT%2Fimage.png?alt=media&#x26;token=6311bb99-3eef-4fe5-9ef1-4bb3af7ff17a" alt=""><figcaption><p>CoherenceSyncRegistry inspector</p></figcaption></figure>

{% hint style="danger" %}
It is important that you perform the forementioned migration as soon as possible, since SDK will be deprecating reading from subassets in upcoming releases.
{% endhint %}

The APIs provided have changed too. Check [CoherenceSyncConfigRegistry](https://unityapi.coherence.io/docs/v1.2.0/api/Coherence.Toolkit.CoherenceSyncConfigRegistry.html), [CoherenceSyncConfigUtils ](https://unityapi.coherence.io/docs/v1.2.0/api/Coherence.Editor.CoherenceSyncConfigUtils.html)and [CoherenceSyncUtils](https://unityapi.coherence.io/docs/v1.2.0/api/Coherence.Editor.CoherenceSyncUtils.html). Exposed functionality has been documented.

{% hint style="info" %}
If your project was using any registry-related APIs, you might see compilation errors on upgrade, since the APIs have changed considerably. Check the classes mentioned above.
{% endhint %}

## Compilation Errors

When the package imports, if there are any compilation errors, Unity won't do a [domain reload](https://docs.unity3d.com/Manual/ConfigurableEnterPlayMode.html). This means the previous package is still in memory and executing, but the contents of the package (might) have changed drastically. This can yield numerous errors and warnings on the Console, that will fade away once the compilation (followed by a domain reload) is completed.

If, after compilation, you are still experiencing issues using the SDK (errors hitting the *Bake* button, CoherenceSync throwing exceptions or warnings that weren't there before the upgrade, etc), please reach out to us on our [Discord](https://discord.gg/mAYQRWBjpQ) or the [Community forum](https://community.coherence.io/).

## Client Hosting

In this update, bundling the Replication Server has been revamped to work with Streaming Assets. On the *Settings* window, instead of different toggles per platform, there's now one unified toggle:

<figure><img src="https://2047761709-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Ffo6vUwbCyyb7fmwjPG0A%2Fuploads%2Fj8rbf3Kcl3zbxpbRSHo9%2Fimage.png?alt=media&#x26;token=33a5fdf1-5671-407c-8aa8-5b295c12eadc" alt=""><figcaption></figcaption></figure>
