Unity Game SDK
Начните здесь. В Unity интеграция VORIVOX должна находиться в одном понятном месте — в Boot-сцене и адаптере SDK. Игровые правила, UI и графика не должны напрямую работать с Launcher.
Start() подключает SDK и загружает ресурсы. Сама игра начинается только после события SessionStarted.Как выглядит проект
Assets/Game/
├── Bootstrap/
│ └── VorivoxBootstrap.cs # ← подключение SDK и ready
├── Runtime/
│ ├── Integration/
│ │ └── VorivoxSessionAdapter.cs # ← события VORIVOX → игра
│ ├── Gameplay/ # очки, раунды, 1/2 игрока
│ └── Presentation/ # UI, VFX, звук
├── Localization/ # ← 12 обязательных языков
│ ├── ru/ en/ zh-Hans/ es/ ar/ hi/
│ └── pt/ fr/ de/ ja/ kk/ uz/
├── Scenes/Boot.unity
├── Scenes/Game.unity
└── Tests/EditMode + Tests/PlayMode
Куда вставляется код SDK
Создайте объект VORIVOX SDK в Boot.unity, добавьте VorivoxGameSdk, затем повесьте рядом VorivoxBootstrap.cs. Ссылку на SDK назначьте через Inspector. Остальные игровые классы должны общаться с вашим адаптером, а не с SDK напрямую.
using UnityEngine;
using Vorivox.UnityGameSdk;
public sealed class VorivoxBootstrap : MonoBehaviour
{
[SerializeField] private VorivoxGameSdk sdk;
[SerializeField] private GameController game;
private async void Start()
{
sdk.SessionStarted += s => game.StartSession(s.PlayerCount);
sdk.SessionPaused += _ => game.Pause();
sdk.SessionResumed += () => game.Resume();
sdk.SessionStopped += _ => game.Stop();
sdk.HitReceived += hit => game.OnHit(hit);
await sdk.ConnectAsync();
await game.LoadAssetsAsync();
await sdk.ReadyAsync("Game");
}
}
Что обязан сделать разработчик
Загрузить ресурсы до ReadyAsync(); запускать механику только по SessionStarted; не начислять очки на паузе; завершать сеанс один раз; поддержать все 12 языков; для двух игроков выбрать поочерёдную стрельбу или разделение полотна на две половины; проверить Linux x86_64 Player вне Editor.
Что читать дальше
Быстрый старт → Первая игра → Попадания → Один и два игрока → Локализация → Сборка → Тестирование.
Playground — браузерная демонстрация общего контракта. Это не Unity Player и не проверка C#-пакета.