[Из песочницы] Обновляем проекты Unity Android для совместимости с архитектурой ARM64

Google предложил разработчикам обновить приложения для совместимости с архитектурой ARM64 в срок до 1 августа 2019 года, если они не соответствуют этим требованиям


Найдем и включим поддержку ARM64 в Unity


Для включения, откроем настройки File — Build Settings, далее — Player Settings для платформы Android. В открывшемся инспекторе, видим на вкладке Other settings раздел Configuration.
image

Обратите внимание! Опция Scripting Backend должна быть установлена в IL2CPP. И после включения этой опции потребуется иметь установленный NDK Android, если он не установлен!

Скачиваем последнюю стабильную версию, прописываем пути к ней — и «упс», самая новая версия NDK для Unity почему-то не подошла!

image

Не тратьте время, как это сделал я, на скачивание последней стабильной версии с номером 20. Размер этого пакета около 2Gb. Начинайте качать версию r16b (64-bit).

Скачать именно эту, требуемую версию NDK Android r16b (64-bit) для Windows
можно здесь.

После, естественно, распаковать, положить в надежное доступное место и при сборке билда указать путь к этому месту. Или же, сразу прописать этот путь в главных настройках Unity, там есть такое поле для прописывания пути к NDK, а меню называется внешние компоненты (External Tools).

В результате, в опции Target Architectures должен стать активным флажок ARM64. До этих манипуляций флажок был неактивным:

image

Если в проекте используется Vuforia, ее также требуется обновить


Проекты с использованием Vuforia — ранние версии 64x не поддерживали. Однако, начиная с версии 8.1 Vuforia поддерживает 64-х разрядность.

Лучше всего обновляться непосредственно из Unity. Для этого, идем в меню Window — Vuforia Configuration (Ctrl-Shift-V) — и в инспекторе смотрим на самый верх — если доступно обновление и версия Vuforia не самая новая, то будет доступна ссылка на скачивание — именно она позволяет загружать исполняемый файл обновления.

Второй способ для проверки обновления — можно открыть меню Help — Vuforia Engine — Check for Updates. И если есть обновление, то оно будет предложено к скачиванию.

После скачивания, распакуйте. Внутри должен быть исполняемый файл примерно с таким именем UnitySetup-Vuforia-AR-Support-for-Editor-2018.4–2019.1.exe. Отличаться может версия вашего редактора.

Далее, обратите внимание на правильность действий при запуске этого обновления:

  1. Принять лицензионное соглашение
  2. Если Unity редактор открыт, то будет предложено его закрыть
  3. Выбрать путь к редактору Unity и нажать Update


Причем, если у вас установлен Unity Hub, то путь возможно будет выглядеть как то так: «C:\Program Files\Unity\Hub\Editor\2018.4.3f1\».

Будьте повнимательней с путями и все получится. Когда я указывал путь до той папки, где непосредственно лежит Unity.exe то получал ошибку: «Не могу найти Unity.exe». Правильный путь указывается только до названия версии редактора!

Еще одни грабли могут быть тут. Возможно, вы сами найдете на сайте Вуфории ссылку на Vuforia SDK Engine 8.3: developer.vuforia.com/downloads. Но, здесь скачиваются zip архивы с исходниками SDK, и автоматически установить это в Unity не получится. Не используйте этот архив! Скачивайте файл обновления только по ссылке в редакторе.

Все рекомендации относятся к обновлению Vuforia если у вас установлена Windows. Если же у вас Mac, то отличий немного, разве что в написании путей к папке с редактором Unity. И конечно, выбирайте версии пакетов под свою платформу правильно.

На этом все, спасибо аудитории, надеюсь статья кому-то поможет.

Подробности о требованиях Google.

Информацию по IL2CPP смотрите в разделе 6 помощи.

Версии NDK Android.

Vuforia о поддержке ARM64 и обновлении до версии 8.3.

© Habrahabr.ru