? Нативное решение 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-пакетов:
Чтобы добиться аналогичного результата выполняем следующие шаги:
-
Создаем черновик ассета через Unity Publisher Portal:

Если черновик создался успешно, изменение отобразится в Uploader окне -
Добавляем в define Unity проекта
значениеUNITY_ASTOOLS_EXPERIMENTAL
Project Settings > Scripting Define Symbols:
-
После завершения компиляции, выбираем опцию загрузки локального UPM-пакета и указываем путь до пакета с исходниками:

-
Нажимаем на кнопку
Uploadи ?:
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
ссылка на оригинал статьи https://habr.com/ru/articles/786792/




Добавить комментарий