icon
Скачать с Unity Asset Store.
Подробнее о PluginYG2 - преимущества и другая информация.
Телеграм канал - новости об обновлениях, полезная и важная информация.
Телеграм чат - задать вопрос или найти уже готовые ответы.

Ниже предоставлены видеоматериалы. Рекомендуется всё же ориентироваться на документацию, т.к. она содержит более подробную и всегда актуальную информацию. YouTube плеер может не отображаться из-за блокировок.

Начало работы

• Поддерживаются версии Unity: 2021.3.18+, 2022.3+, 2023.2+ включая Unity 6.
• Не перемещайте файлы плагина в проекте!
• Перед импортом плагина убедитесь, что в проекте отсутствуют ошибки компиляции!
Скачайте PluginYG2 с Unity Asset Store и импортируйте. Вас встретит приветственное окно. В нём дублируются кнопки из контекстного меню:
icon
Откройте настройки плагина — это фундаментальное окно. Обратите внимание, многие поля имеют всплывающие подсказки!
icon
Рекомендуется ознакомиться со всеми параметрами из раздела Basic Settings.

Если при импорте плагина вы отказались от установки оптимальных настроек для стандартной платформы Яндекс Игры
В Basic Settings → Platform, необходимо выбрать платформу. Для портирования на WebGL, требуется выбрать соответствующий шаблон в Player Settings → Resolution and Presentation → WebGL Template. Вместо выбора шаблона, вы можете нажать галку Auto Apply Settings под полем Platform. В таком случае, шаблон применится автоматически, но вместе с ним применятся и другие настройки, которые предлагает плагин. Вы можете отключить автоматический выбор настроек проекта, это изменяется в свойствах платформы (поле Platform).
Локальный хост, размещение на своём сервере, модуль EmptyWebGL.
Тестирование игры на локальном хосте с помощью Build And Run — работает. При этом инициализация SDK (получение данных платформы) будет игнорироваться.

При размещении игры на своём сервере для Яндекс Игр, включите опцию Own Host, которая находится в настройках платформы (поле Platform в разделе Basic Settings). Это добавит соответствующую строку подключения в index.html.
Обратите внимание, ваш хост может не поддерживать некоторые настройки проекта. Например, компрессию Brotli. Если при импорте плагина вы соглашались на установку оптимальных настроек, то PluginYG2 сам меняет некоторые параметры проекта. Для контроля над этим процессом, перейдите в настройки платформы и внесите изменения в соответствии с вашими предпочтениями.

Для локального тестирования игры с подключением к SDK, в Index.html измените функцию IsLocalHost под свои нужды. Данный файл можно корректировать в папке WebGLTemplates/YandexGames.

Также обратите внимание на модуль EmptyWebGL, созданный для тестирования игры. Это платформа, которую можно выбрать в настройках плагина. Сборка игры с выбранной платформой EmptyWebGL получится без каких-либо зависимостей в виде подключения к стороннему SDK или API. Такой билд можно расположить на своём хосте или, например, на GitHub. Это особенно ускоряет процесс тестирования игр с мультиплеером. В настройках платформы вы найдёте опцию Give Reward, по умолчанию она включена, и это значит, что в билде будет активна симуляция выдачи вознаграждения после просмотра соответствующей рекламы. Также в настройках платформы вы можете выключить компрессию. На стороннем хосте, скорее всего, это будет необходимо, чтобы игра запустилась. Подробнее о настройках платформы смотрите в разделе «Платформы». Скачать модуль можно через инструмент контроля версиями.

Модульная система

Все функции плагина разделены на отдельные модули. Подробнее о преимуществах такого подхода и в целом о плагине вы можете почитать на домашней странице сайта.
Откройте инструмент контроля версий. Давайте скачаем и импортируем для примера модуль InterstitialAdv:
icon

Когда модуль импортирован:

  1. Он попадает в папку Modules. Любая папка в директории Modules будет определена как модуль плагина.
  2. Если модуль имеет глобальные настройки, то они отобразятся в настройках плагина.
  3. Для всех модулей будет создан свой дефайн (директива препроцессора). Вы можете использовать его в своём коде.

icon
У дефайнов модулей в конце есть подпись _yg. Модули-платформы обозначаются надписью Platform_yg. При возникновении проблем, вы можете проверить все ли дефайны правильно установлены и скорректировать их. Ещё можно попробовать обновить данные о модулях в проекте — удалив файл PluginYourGames/Editor/ModulesListYG2.txt

Обнаружив явные проблемы с плагином, пожалуйста, сообщите об этом в чате Plugin Your Games. Там вы сможете найти обсуждения уже с готовыми решениями, общаться по тематике разработки игр. А следить за обновлениями плагина и другой важной информацией предлагается в телеграм канале PluginYG2 на связи.

Работа с кодом

PluginYG находится в пространстве имён YG, импортируйте его в начале вашего скрипта: using YG;
Практически все функции находятся в классе YG2. Так, например, мы можем найти в данном классе метод вызова рекламы: YG2.InterstitialAdvShow();
Как работать с рекламой и другими модулями смотрите в соответствующих разделах.

Другие объекты, которые содержатся в PluginYG2 без отдельных модулей:

Основные
platform — пример значения, которое может содержать поле platform: YandexGames, CrazyGames.
onGetSDKData — событие, сигнализирующее о том, что SDK платформы инициализирован (может пригодиться при использовании опции Sync Init).
isSDKEnabled — поле равно true — когда SDK инициализирован.
isFirstGameSession — поле, информирующее о том, первая ли сейчас игровая сессия. Если первая — будет равно true всю текущую игровую сессию. Но обратите внимание! Данное поле не сохраняется в облачное хранилище.
Разметка геймплея
GameReadyAPI — выполняйте метод, когда игра загрузилась и пользователь может приступить к геймплею. Необходимо использовать, если в Basic Settings отключена галка Auto GRA. Подробнее о Game Ready. По умолчанию метод GameReadyAPI выполняется автоматически после загрузки игры, потому что опция AutoGRA в настройках плагина включена. Если в вашей игре после её загрузки есть ещё дополнительные задержки — выключите AutoGRA и вызывайте метод вручную.

GameplayStart — используйте метод, чтобы дать сигнал платформе о начале геймплея.
GameplayStop — используйте метод, чтобы дать сигнал платформе об остановке геймплея.
При открытии и закрытии рекламы или других паузах — выполняются методы GameplayStart и GameplayStop. Но только если раньше в игре был вызван метод GameplayStart.
То есть, если в коде использовать методы разметки, то они будут автоматически выполняться при просмотре рекламы и других схожих паузах. А после паузы будет установлено состояние геймплея такое, какое было до паузы.
Методы разметки геймплея необязательны, но их внедрение приветствуется.

isGameplaying — поле, информирующее о активности геймплея.
YG2.optionalPlatform.HappyTime — счастливое время.

Демо материалы

icon
Все демонстрационные материалы находятся в папках Example. Откройте главную демо-сцену: PluginYourGames/Example/Scenes/ExampleYG2. Главная сцена отображает демо-объекты всех модулей. Если у модуля есть сцена с демо-объектом, то он отобразится. Но сначала нужно нажать на кнопку «Добавить демо сцены». Тогда сцены модулей добавятся в Build Settings. Перед релизом игры или по завершению изучения плагина можно удалить демо сцены из Build Settings нажав на кнопку «Удалить» или выполнить удаление всех демо материалов из проекта.

При удалении какого-либо модуля — сцена модуля останется в Build Settings и будет неопределённой. Перед удалением модуля желательно в разделе демо сцен нажать на кнопку «Удалить».

EventsYG2 компонент

icon

  • Компонент EventsYG2 хранит в себе большинство доступных методов плагина. С его помощью без кода можно, например, назначить на кнопку метод вызова рекламы.
  • С помощью компонента EventsYG2 можно выполнять методы по событию. Для этого нажмите на кнопку «Добавить новый тип события» и выбирайте событие, при котором необходимо выполнить какой-либо метод. Это работает также, как вы привязываете методы на клик по кнопке в компоненте Button.

Сборка билда

Теперь вы знаете основу работы с Plugin Your Games 2.0. С этими знаниями уже можно собирать рабочий билд. Но есть ещё пару интересных моментов. Далее о номере билда и немного о правильной настройке проекта под WebGL.

Номер билда

PluginYG2 хранит информацию о билде в файле PluginYourGames/Editor/BuildLogYG2.txt. Туда записывается номер билда. Например, если вы собираете проект при импортированном PluginYG третий раз, то номер билда будет = 3.

Номер билда отображается в следующих местах:

  • В логе Unity Editor после сборки проекта
  • В названии zip архива билда (приписка, например «b3»)
  • В консоли браузера (в первых логах)
  • В углу экрана игры при тестировании билда (подробннее далее)

Для обнуления информации о билде можно удалять файл BuildLogYG2.txt.
Разрешается удалять и всю папку PluginYourGames/Editor для отчищения кеша плагина.

После сборки проекта, если включена галка Arhiving Build в настройках плагина в разделе Basic Settings, то билд игры будет автоматически заархивирован в формате zip, чтобы каждый раз не архивировать вручную. PluginYG не удаляет оригинальный билд и не помещает внутрь него архив, т.к. плагин не нарушает какую-либо базовую логику Unity при сборке билда. По этому, расположение созданного архива может показаться странным. Для удобства — внутри папки, в которую собираетесь построить билд — создайте ещё одну папку с таким же названием игры. И уже внутрь неё собирайте билд игры:
icon

Настройки проекта

В настройках плагина, в разделе Template опция Developer Build поможет вам при тестировании билда игры. При использовании данной опции, в сборку попадут скрипты отображающие номер билда в углу экрана игры. Это даёт возможность мгновенно убедиться, что на сервере платформы актуальный билд.
Также, отображение такой плашки сигнализирует о том, что данный билд является не финальным, что поможет вспомнить о изменении настроек проекта под финальный билд.
icon
На плашку с номером билда можно нажать, чтобы она исчезла.

При возникновении трудностей читайте раздел «Часто задаваемые вопросы».

Советую также ознакомится с отличной статьей по настройке и оптимизации проекта.