> 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/~/changes/305/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](/~/changes/305/docs/sample-projects/unity-netcodes.md) which you can use as a project starter and modify further.
{% endhint %}

## ⚡ 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:

* connect your Unity project to your Edgegap account,
* build your dedicated game server,
* containerize your dedicated game server,
* test your server’s docker image locally,
* configure your Edgegap application version,
* deploy a test instance of your server on Edgegap cloud.

{% 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="https://3027732442-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2FylRG4r8orenZrw5ijjpJ%2Fimage.png?alt=media&amp;token=fb981825-8a15-4c07-9180-0f79a6a77a91" 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="https://3027732442-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FsR0dHSFv9ymoC0DO5G8J%2Fuploads%2FuXtyqoLhBOk8CZJ4WdzA%2Fimage.png?alt=media&amp;token=19e956ed-a731-420d-b911-130c334794fc" 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),
* make sure to restart your computer after completing the installation.

</details>

{% hint style="success" %}
See [Unity](/~/changes/305/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 %}

## ⭐ Matchmaking SDK

* Unity [Developer Tools](/~/changes/305/unity/developer-tools.md#matchmaking-sdk) by Edgegap:
  * [install package using Unity Package Manager for free](https://github.com/edgegap/edgegap-unity-gen2-sdk?tab=readme-ov-file#install-with-git-recommended),
  * [import simple example script](https://github.com/edgegap/edgegap-unity-gen2-sdk?tab=readme-ov-file#import-simple-example) and customize for your needs,

{% 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:

* start and stop matchmaking with an individual ticket,
* resume matchmaking from cached server assignment,
* start matchmaking with a group,
* use [Ping Beacons](/~/changes/305/learn/orchestration/ping-beacons.md) for latency measurement,
* monitor matchmaker health.

{% hint style="success" %}
Use our [Simple Example Unity sample script](https://github.com/edgegap/edgegap-unity-gen2-sdk?tab=readme-ov-file#import-simple-example) to test Matchmaking in 5 minutes.
{% endhint %}

#### Installation

Please refer to [the official plugin repository](https://github.com/edgegap/edgegap-unity-gen2-sdk?tab=readme-ov-file#install-with-git-recommended) for detailed instructions on installation.

{% hint style="success" %}
[Add Packages directly from Unity's Editor with Git (video tutorial)](https://www.youtube.com/watch?v=ODL0DpEOiIE\&pp=ygUHZWRnZWdhcA%3D%3D).
{% endhint %}

<details>

<summary>Troubleshooting and FAQ</summary>

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

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

***

Unity: `failed to resolve assembly: 'Edgegap.Gen2.SDK...`

* This is a known issue caused by [Unity's Burst compiler](https://docs.unity3d.com/6000.0/Documentation/Manual/com.unity.burst.html).
* Install plugin [via ZIP archive](https://github.com/edgegap/edgegap-unity-gen2-sdk/edit/main/README.md#install-via-zip-archive) and delete .asmdef in the plugin folder to resolve this.

***

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](https://docs.edgegap.com/docs/relay-transports-samples):

* 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)
