Как стать автором
Обновить

Публикация UPM-пакета в Unity Asset Store

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров793

? Нативное решение Unity

В 2018 разработчики из Unity релизнули централизованное хранилище для итеративных обновлений движка и расширений Editor, которое получило название UPM - Unity Package Manager.

Позже появились и сторонние сервисы через которые распространяются UPM-пакеты:

Отдельно можно выделить NuGetForUnity, который запускает NuGet клиент внутри редактора Unity.

Несмотря на это, больше 93 тысяч ассетов и расширений публикуются в Asset Store, который официально не предоставляет функционал загрузки UPM-пакетов.

? Ищем решение

Asset Store Tools v11.3.1, разрешает загружать ассеты из следующих источников:

  • Папки Assets

  • Aрхива .unitypackage

Просмотрев исходники Asset Store Tools, видим экспериментальный функционал обернутый в директиву #if UNITY_ASTOOLS_EXPERIMENTAL:

Функционал уже реализован со стороны Unity, но недоступен конечным паблишерам:


При этом Unity Technologies разработчики загружают собственные ассеты в виде UPM-пакетов:

Структура UPM-пакета Asset Store Tools
Структура UPM-пакета Asset Store Tools

Чтобы добиться аналогичного результата выполняем следующие шаги:

  1. Создаем черновик ассета через Unity Publisher Portal:

    Если черновик создался успешно, изменение отобразится в Uploader окне
    Если черновик создался успешно, изменение отобразится в Uploader окне
  2. Добавляем в define Unity проекта
    значение UNITY_ASTOOLS_EXPERIMENTAL
    Project Settings > Scripting Define Symbols:

  3. После завершения компиляции, выбираем опцию загрузки локального UPM-пакета и указываем путь до пакета с исходниками:

  4. Нажимаем на кнопку Upload и ?:

    Unity модерация не отклоняет UPM-пакеты и успешно загружает их на свои сервера
    Unity модерация не отклоняет UPM-пакеты и успешно загружает их на свои сервера

? Заключение

Тип загрузки с помощью UPM-пакетов, подойдет для ассетов или тулзов, которые версионируются и конфигурируют зависимости между пакетами.

Тем самым получая единообразную структуру ассетов для UPM реестра и Asset Store хранилища.

Вероятно, в будущих релизах Unity опубликуют открытое решение для паблишеров.
Если вы тоже юзали internal или experimental фичи, обязательно пишите об этом.

? Полезные ссылки

The secret to publishing your UPM package to the Asset Store
Smart Importer - GitHub, Asset Store
Asset Store Tools - GitHub, Asset Store
Unity’s Package Manager

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Какими решениями шаринга ассетов в Unity пользуетесь?
85.71% Unity Package Manager6
28.57% Архивы .unitypackage2
0% NuGetForUnity0
14.29% Git submodules1
Проголосовали 7 пользователей. Воздержался 1 пользователь.
Теги:
Хабы:
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

Публикации

Истории

Работа

Ближайшие события