В Unity появилась поддержка загрузки контента "по запросу"
Функция загрузки «по запросу», введенная Apple в iOS 9 и tvOS, официально стала доступна для разработчиков, работающих над проектами в Unity.
Как сообщает официальный блог Unity, для упрощения жизни разработчиков, на днях был выпущен первый патч к Unity 5.2.0, который включил в себя API-враппер для создания ресурсов «по запросу».
Напомним, функция подгрузки контента «по запросу» — это новая фишка iOS 9 и tvOS. Ее задача — сокращение размера дистрибутива на устройстве путем переноса части его контента в «облако». Предполагается, что как только у пользователя появляется необходимость в этом новом контенте, он подгружается взамен уже не используемого.
В качестве примера в блоге Unity приводится следующая ситуация: есть игра с несколькими уровнями. Когда игрок на третьем уровне, у него нет нужды в уровне десятом. Срочная необходимость в первых уровнях при прохождении 16 левела также у игрока отсутствует.
На самом деле, история спорная. И, в первую очередь, обусловленная желанием Apple сократить издержки на производство новых Apple TV.
Как бы то ни было, разработчики сегодня вынуждены учитывать изменившуюся реальность и адаптировать свои решения под ведущие маркеты.
Для использования ресурсов «по запросу» разработчик должен совершить два действия, — пишут в блоге Unity. Во-первых, привязать индификатор (тэг) к каждому ресурсу во время сборки. Во-вторых, запросить ресурс, используя приписанный тэг во время прогона в нужны момент.
Без враппера первый шаг делается в Xcode, а запросы через NSBundleResourceRequest API. В Unity теперь эта процедура осуществляется через код (первый шаг — UnityEditor.iOS.BuildPipeline.collectResources event API, второй шаг — UnityEngine.iOS.OnDemandResources.PreloadAsync API).
Apple рекомендует, чтобы подгружаемые пакеты весили не более 64 Мб.
Источник: http://blogs.unity3d.com