> For the complete documentation index, see [llms.txt](https://docs.edgegap.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.edgegap.com/unity/developer-tools.md).

# Developer Tools

We build these tools for you with a simple mantra: “the keys to successful teams are fast iteration and frequent testing”. If you see an opportunity for improvement, please let us know in our [Community Discord](https://discord.gg/NgCnkHbsGp). We hope you will enjoy a smooth experience. 🚀

{% hint style="info" %}
[Find real world examples](/docs/sample-projects/unity-netcodes.md) which you can use as a project starter and modify further.
{% endhint %}

#### Semantic Versioning

Our developer tools and managed services use official [Semantic Versioning](https://semver.org/), indicating which updates are ✅ safe (minor, patch) and which may contain ⚠️ breaking changes (major).

**Once a version is released, it will never be modified/changed**.

## ⚡ Dedicated Servers Quickstart Plugin

Build and launch your dedicated game server into the cloud directly from your Unity Editor!

* [Dedicated Servers for Unity plugin - turnkey solution, source code, and full release notes.](https://github.com/edgegap/edgegap-unity-plugin)

{% hint style="success" %}
This plugin is provided 100% free of charge, under Terms and Conditions of Free Tier.
{% endhint %}

All Unity3D Long Term Support (LTS) versions after 2021.3+ are officially supported.

This plugin contains features intended to help you:

* build and containerize your dedicated servers for linux,
* test your server’s docker image locally,
* upload and deploy your server on Edgegap.

{% hint style="info" %}
This plugin does not modify any game behavior, it’s merely a convenient dev tool for Edgegap tasks. The plugin isn't included in your builds, as it’s only used during server build preparation.
{% endhint %}

#### Installation

Please refer to [the official plugin repository](https://github.com/edgegap/edgegap-unity-plugin) for detailed instructions on installation.

{% embed url="<https://youtu.be/3a5veDyxpoE>" %}

<details>

<summary>Install Unity Linux Build Support Modules</summary>

* Use Unity Hub to select tab **Installs**, access **Settings** and **Add Modules** for each Unity version you intend to use with Edgegap platform:

<figure><img src="/files/lNnd1bJ42H0dxX6TL6wm" alt=""><figcaption></figcaption></figure>

* Scroll down to select and install the following Unity modules:
  * **Linux Build Support (IL2CPP),**
    * **Linux Build Support (Mono),**
    * **Linux Dedicated Server Build Support**

<figure><img src="/files/7yeESZBpcwHUZJOQzkub" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><a href="https://www.docker.com/products/docker-desktop/">Install Docker Desktop (or Docker CLI)</a></summary>

* [Install Docker Desktop from the official source](https://www.docker.com/products/docker-desktop/) (no account required).
* Restart your computer after completing the installation.

</details>

{% hint style="success" %}
See [Unity](/unity.md) to get started and for detailed instructions on plugin usage.
{% endhint %}

<details>

<summary>Troubleshooting and FAQ</summary>

Unity error: `[Package Manager Window] Error adding package: https://github.com/edgegap/edgegap-unity-plugin.git`

* To add our plugin via git URL, you will need git client installed ([#installation](#installation "mention")).

***

Unity Error: `Missing Linux Build Support`

* See [#usage-requirements](#usage-requirements "mention"), you’re most likely missing Linux Build Support modules, which you can install through Unity hub. Make sure to choose the same Unity version as your project’s.

</details>

{% hint style="info" %}
If you need help, [please reach out to us over Discord](https://discord.gg/MmJf8fWjnt). For live games support see our [ticketing system](https://edgegap.atlassian.net/servicedesk/customer/portal/3).
{% endhint %}

{% hint style="info" %}
**For plugin developers** - if you wish to detect presence of this plugin in the users Editor, you can do so using a compiler directive `#if EDGEGAP_PLUGIN_SERVERS {your code} #endif` .
{% endhint %}

## ⭐ Software Development Kit

{% hint style="info" %}
**The latest version of Unity SDK is `3.3.0`**. All examples in this documentation are up to date.
{% endhint %}

Unity SDK contains optional integration utilities for Deployments, Matchmaking, and Server Browser. This plugin officially supports Unity versions 2021.3.0f1 and later.

{% hint style="success" %}
This plugin is provided 100% free of charge, under Terms and Conditions of Free Tier.
{% endhint %}

#### Requirements

<details>

<summary>Install a Git Client (for example <a href="https://git-scm.com/">git-scm</a>)</summary>

A git client is needed for Unity to download and install our Unity package automatically. You will not need to use git directly once it's installed.

</details>

#### Installation

1. Open your Unity Project,
2. Select `Window > Package Management > Package Manager` ,
3. Click the :heavy\_plus\_sign: icon and select `Add package from git URL...` ,
4. Input the URL of our SDK when prompted:

{% code title="" %}

```
https://github.com/edgegap/edgegap-unity-sdk.git
```

{% endcode %}

5. Click `Add`  and wait until installation is completed.

#### Import Samples

This package includes multiple samples, intended to be used individually (do not combine samples).

#### Verified Sources

This is the only official distribution channel for this SDK, do not trust unverified sources!

#### Update Package

Navigate to Edgegap SDK in Unity Package Manager and click `Update` .

{% hint style="warning" %}
**Imported Samples are not updated automatically!** Back up any custom property values, delete the sample scripts used in your scene currently and re-import samples.
{% endhint %}

{% hint style="info" %}
Some releases may contain breaking changes. This will be indicated by a new MAJOR version.
{% endhint %}

#### Updating to v3

This update includes many new [Server Browser](/unity/server-browser.md) utilities and examples, improves matchmaking error handling, and more. See [Release Notes](/docs/release-notes.md) for a complete list.

{% hint style="warning" %}
Unity SDK update v3 includes a few breaking changes. Please re-test your integration carefully.
{% endhint %}

<details>

<summary>Troubleshooting and FAQ</summary>

Unity: `[Package Manager Window] Error adding package: https://github.com/edgegap/edgegap-unity-sdk.git`

* To add our plugin via git URL, you will need git client installed.

***

Visual Studio: `type or namespace name could not be found` for Edgegap namespace.

1. In Unity Editor, navigate to **Edit / Preferences / External Tools / Generate .csproj files**.
2. Make sure you have enabled **Git packages**.
3. Click **Regenerate project files**.

</details>

{% hint style="info" %}
If you need help, [please reach out to us over Discord](https://discord.gg/MmJf8fWjnt). For live games support see our [ticketing system](https://edgegap.atlassian.net/servicedesk/customer/portal/3).
{% endhint %}

## 📫 Distributed Relay Transports library

Find a custom Transport for your netcode library to utilize Distributed Relays in peer to peer games.

[See documentation](/learn/distributed-relay/relay-transport-samples.md):

* Download Edgegap Relay Samples:
  * [Mirror sample](https://github.com/edgegap/unity-mirror-relay-sample),
  * [FishNet sample](https://github.com/edgegap/unity-fishnet-relay-sample),
  * [Unity NGO sample](https://github.com/edgegap/unity-ngo-relay-sample).
* [Edgegap Relay Transport Library - source code and release notes for supported netcodes.](https://github.com/edgegap/distributed-relay-examples)
