> 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/ru/unity/developer-tools.md).

# Инструменты разработчика

Мы создаём для вас эти инструменты с простым девизом: «ключ к успешным командам — быстрая итерация и частое тестирование». Если вы видите возможность для улучшения, пожалуйста, сообщите нам в нашем [Discord сообщества](https://discord.gg/NgCnkHbsGp). Надеемся, вам понравится удобная и бесперебойная работа. 🚀

{% hint style="info" %}
[Найдите реальные примеры](/ru/docs/sample-projects/unity-netcodes.md) которые можно использовать как основу проекта и доработать дальше.
{% endhint %}

#### Семантическое версионирование

Наши инструменты для разработчиков и управляемые сервисы используют официальное [Семантическое версионирование](https://semver.org/), что указывает, какие обновления ✅ безопасны (minor, patch), а какие могут содержать ⚠️ несовместимые изменения (major).

**После выпуска версия никогда не будет изменена**.

## ⚡ Плагин быстрого старта Dedicated Servers

Создавайте и запускайте свой выделенный игровой сервер в облаке прямо из Unity Editor!

* [Плагин Dedicated Servers для Unity — готовое решение, исходный код и полные примечания к выпуску.](https://github.com/edgegap/edgegap-unity-plugin)

{% hint style="success" %}
Этот плагин предоставляется на 100% бесплатно в соответствии с Условиями и положениями Free Tier.
{% endhint %}

Официально поддерживаются все версии Unity3D Long Term Support (LTS) после 2021.3+.

Этот плагин содержит функции, призванные помочь вам:

* собирать и контейнеризировать ваши выделенные серверы для Linux,
* локально тестировать docker-образ вашего сервера,
* загружать и развёртывать ваш сервер на Edgegap.

{% hint style="info" %}
Этот плагин не изменяет поведение игры — это всего лишь удобный инструмент для разработчиков для задач Edgegap. Плагин не включается в ваши сборки, поскольку используется только на этапе подготовки сборки сервера.
{% endhint %}

#### Установка

Пожалуйста, обратитесь к [официальному репозиторию плагинов](https://github.com/edgegap/edgegap-unity-plugin) за подробными инструкциями по установке.

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

<details>

<summary>Установите модули поддержки сборки Unity для Linux</summary>

* Используйте Unity Hub, чтобы выбрать вкладку **Устанавливает**, доступ **Настройки** и **Добавить модули** для каждой версии Unity, которую вы планируете использовать с платформой Edgegap:

<figure><img src="/files/26fc1e613ea5a824da67070b999585c5a7eba2a5" alt=""><figcaption></figcaption></figure>

* Прокрутите вниз, чтобы выбрать и установить следующие модули Unity:
  * **Поддержка сборки для Linux (IL2CPP),**
    * **Поддержка сборки для Linux (Mono),**
    * **Поддержка сборки выделенного сервера для Linux**

<figure><img src="/files/5387bad926a87b546f7dbbe1250b649ccef94bbf" alt=""><figcaption></figcaption></figure>

</details>

<details>

<summary><a href="https://www.docker.com/products/docker-desktop/">Установите Docker Desktop (или Docker CLI)</a></summary>

* [Установите Docker Desktop из официального источника](https://www.docker.com/products/docker-desktop/) (аккаунт не требуется).
* Перезагрузите компьютер после завершения установки.

</details>

{% hint style="success" %}
См. [Unity](/ru/unity.md) чтобы начать и получить подробные инструкции по использованию плагина.
{% endhint %}

<details>

<summary>Устранение неполадок и FAQ</summary>

Ошибка Unity: `[Package Manager Window] Ошибка добавления пакета: https://github.com/edgegap/edgegap-unity-plugin.git`

* Чтобы добавить наш плагин через git URL, вам нужно установить git-клиент ([#installation](#installation "mention")).

***

Ошибка Unity: `Отсутствует поддержка Linux Build`

* См. [#usage-requirements](#usage-requirements "mention"), скорее всего, у вас отсутствуют модули Linux Build Support, которые можно установить через Unity Hub. Убедитесь, что выбрали ту же версию Unity, что и в вашем проекте.

</details>

{% hint style="info" %}
Если вам нужна помощь, [свяжитесь с нами через Discord](https://discord.gg/MmJf8fWjnt). Для поддержки по играм в реальном времени см. нашу [систему тикетов](https://edgegap.atlassian.net/servicedesk/customer/portal/3).
{% endhint %}

{% hint style="info" %}
**Для разработчиков плагинов** - если вы хотите определить наличие этого плагина в редакторе пользователя, это можно сделать с помощью директивы компилятора `#if EDGEGAP_PLUGIN_SERVERS {ваш код} #endif` .
{% endhint %}

## ⭐ Набор средств разработки (SDK)

{% hint style="info" %}
**Последняя версия Unity SDK — `3.3.0`**. Все примеры в этой документации актуальны.
{% endhint %}

Unity SDK содержит дополнительные утилиты интеграции для Deployments, Matchmaking и Server Browser. Этот плагин официально поддерживает версии Unity 2021.3.0f1 и новее.

{% hint style="success" %}
Этот плагин предоставляется абсолютно бесплатно, в соответствии с Условиями и положениями Free Tier.
{% endhint %}

#### Требования

<details>

<summary>Установите Git-клиент (например <a href="https://git-scm.com/">git-scm</a>)</summary>

Git-клиент необходим, чтобы Unity могла автоматически загрузить и установить наш пакет Unity. После установки вам не потребуется использовать git напрямую.

</details>

#### Установка

1. Откройте ваш проект Unity,
2. Выберите `Window > Package Management > Package Manager` ,
3. Нажмите на :heavy\_plus\_sign: значок и выберите `Add package from git URL...` ,
4. Введите URL нашего SDK, когда будет предложено:

{% code title="" %}

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

{% endcode %}

5. Нажмите `Добавить`  и дождитесь завершения установки.

#### Импортировать примеры

Этот пакет включает несколько примеров, предназначенных для использования по отдельности (не объединяйте примеры).

#### Проверенные источники

Это единственный официальный канал распространения этого SDK, не доверяйте непроверенным источникам!

#### Обновить пакет

Перейдите к Edgegap SDK в Unity Package Manager и нажмите `Обновить` .

{% hint style="warning" %}
**Импортированные примеры не обновляются автоматически!** Сделайте резервную копию любых пользовательских значений свойств, удалите используемые сейчас в вашей сцене скрипты примеров и импортируйте примеры заново.
{% endhint %}

{% hint style="info" %}
Некоторые релизы могут содержать несовместимые изменения. Это будет обозначено новой MAJOR-версией.
{% endhint %}

#### Обновление до v3

Это обновление включает множество новых [Браузер серверов](/ru/unity/brauzer-serverov.md) утилит и примеров, улучшает обработку ошибок матчмейкинга и многое другое. См. [Примечания к выпуску](/ru/docs/release-notes.md) полный список.

{% hint style="warning" %}
Обновление Unity SDK v3 включает несколько несовместимых изменений. Пожалуйста, тщательно повторно протестируйте вашу интеграцию.
{% endhint %}

<details>

<summary>Устранение неполадок и FAQ</summary>

Unity: `[Package Manager Window] Ошибка добавления пакета: https://github.com/edgegap/edgegap-unity-sdk.git`

* Чтобы добавить наш плагин через git URL, вам нужно установить git-клиент.

***

Visual Studio: `имя типа или пространства имён не может быть найдено` для пространства имён Edgegap.

1. В редакторе Unity перейдите в **Правка / Настройки / Внешние инструменты / Генерировать файлы .csproj**.
2. Убедитесь, что включены **пакеты Git**.
3. Нажмите **Пересоздать файлы проекта**.

</details>

{% hint style="info" %}
Если вам нужна помощь, [свяжитесь с нами через Discord](https://discord.gg/MmJf8fWjnt). Для поддержки по играм в реальном времени см. нашу [систему тикетов](https://edgegap.atlassian.net/servicedesk/customer/portal/3).
{% endhint %}

## 📫 Библиотека транспортов Distributed Relay

Найдите пользовательский Transport для вашей netcode-библиотеки, чтобы использовать Distributed Relays в P2P-играх.

[См. документацию](/ru/learn/distributed-relay/relay-transport-samples.md):

* Скачайте примеры Edgegap Relay:
  * [Пример Mirror](https://github.com/edgegap/unity-mirror-relay-sample),
  * [Пример FishNet](https://github.com/edgegap/unity-fishnet-relay-sample),
  * [Пример Unity NGO](https://github.com/edgegap/unity-ngo-relay-sample).
* [Библиотека Edgegap Relay Transport — исходный код и примечания к выпуску для поддерживаемых netcode.](https://github.com/edgegap/distributed-relay-examples)
