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

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

{% hint style="info" %}
[Найдите примеры из реального мира](https://docs.edgegap.com/ru/docs/sample-projects/unity-netcodes) которые вы можете использовать как стартовый проект и далее модифицировать.
{% endhint %}

## ⚡ Плагин быстрого старта для выделенных серверов

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

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

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

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

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

* подключении вашего проекта Unity к вашему аккаунту Edgegap,
* сборке вашего выделенного игрового сервера,
* контейнеризации вашего выделенного игрового сервера,
* тестировании Docker-образа вашего сервера локально,
* настройке версии вашего приложения Edgegap,
* развёртывании тестового экземпляра вашего сервера в облаке Edgegap.

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

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

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

<details>

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

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

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

***

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

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

</details>

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

## ⭐ SDK для матчмейкинга

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

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

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

* запускать и останавливать матчмейкинг с индивидуальным тикетом,
* возобновлять матчмейкинг из кэшированного назначения сервера,
* запускать матчмейкинг для группы,
* использовать [ping-beacons](https://docs.edgegap.com/ru/learn/orkestraciya/ping-beacons "mention") для измерения задержки,
* мониторить здоровье матчмейкера.

{% hint style="success" %}
Используйте наш [Простой пример Unity (скрипт примера)](https://github.com/edgegap/edgegap-unity-gen2-sdk?tab=readme-ov-file#import-simple-example) чтобы протестировать матчмейкинг за 5 минут.
{% endhint %}

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

Пожалуйста, обратитесь к [официальному репозиторию плагина](https://github.com/edgegap/edgegap-unity-gen2-sdk?tab=readme-ov-file#install-with-git-recommended) для подробных инструкций по установке.

{% hint style="success" %}
[Добавляйте пакеты прямо из редактора Unity через Git (видеоурок)](https://www.youtube.com/watch?v=ODL0DpEOiIE\&pp=ygUHZWRnZWdhcA%3D%3D).
{% endhint %}

<details>

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

Unity: `[Окно диспетчера пакетов] Ошибка при добавлении пакета: https://github.com/edgegap/edgegap-unity-gen2-sdk.git`

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

***

Unity: `не удалось разрешить сборку: 'Edgegap.Gen2.SDK...`

* Это известная ошибка, вызванная [компилятором Burst Unity](https://docs.unity3d.com/6000.0/Documentation/Manual/com.unity.burst.html).
* Установите плагин [через ZIP-архив](https://github.com/edgegap/edgegap-unity-gen2-sdk/edit/main/README.md#install-via-zip-archive) и удалите .asmdef в папке плагина, чтобы решить эту проблему.

***

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

1. В Unity Editor перейдите в **Edit / Preferences / External Tools / Generate .csproj files**.
2. Убедитесь, что вы включили **Git-пакеты**.
3. Нажмите **Regenerate project files**.

</details>

## 📫 Библиотека Distributed Relay Transports

Найдите пользовательский транспорт для вашей библиотеки сетевого кода, чтобы использовать распределённые ретрансляторы в играх с пиринговым соединением.

[См. документацию](https://docs.edgegap.com/docs/relay-transports-samples):

* Скачать примеры 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 Library — исходный код и заметки к релизам для поддерживаемых сетевых библиотек.](https://github.com/edgegap/distributed-relay-examples)
