Лучшая практика для кроссплатформенности в Unity?

Лучшая практика для кроссплатформенности в Unity?

У меня есть проект, помогите мне с вопросом, я развертываю игру WebGL для 3 платформ веб-игр: VK play, Яндекс Игры, игры Facebook и, возможно, любые другие, у каждого есть собственный SDK, и они мешают друг другу, мне нужно решение, могу ли я разделить свой проект на любой другойслужба веб-игр?

Для разделения проекта на Android, IOS, ПК я используюAssembly Definition, но это не разделяет платформу на другие сервисы

  1. Можно ли использовать ветки Git для любого другого веб-сервиса? Но если я хочу изменить базовый код, это создаст мне новую проблему с объединением всех ветвей WebGL. Пример: WebGL_Yandex_Games, WebGL_VK_Games, WebGL_Facebook_Games отображаются в репозитории

  2. Создать для любого другого веб-сервиса, другого проекта Unity? Это не производительность, размер проекта больше 1 ГБ

  3. Может быть с Assembly Definitionразделенным проектом на WebGL и содержит запись для всех веб-сервисов, но могу ли я узнать, какой веб-сервис используется сейчас? Вконтакте, Яндекс или Facebook?


Ответы (2 шт):

Автор решения: Doctorixx

Может сделать один интерфейс, а задать ему реализации под каждую платформу? Юнити вроде не добавляет в билд неиспользуемые скрипты

→ Ссылка
Автор решения: Yaroslav

Проект может весить и 1Гб и 2Гб и значения это не имеет. Может оказаться, что 90% веса проекта, это папка Library содержащая всякий кеш для редактора. Вес итогового билда НЕ СОВПАДАЕТ с весом проекта и всегда гораздо меньше!

Не думаю что фреймворки платформ сильно много весят что-бы создавать проекты с каждым отдельно. Функции у них одни и те-же и их нужно использовать под абстракцией, то-есть прокладкой описанной интерфейсами, для возможности одной строчкой менять api на другой.

Как узнать какой использовать в данный момент? Facebook, VK, Yandex или Placeholder заглушку для редактора? Ok Google: unity 3d webgl get current url... one minute later: Application.absoluteURL.

→ Ссылка