Движок Unity на Android: полное руководство по настройке и сборке

Ошибка «Android SDK not found» при первой сборке проекта — самая частая проблема, с которой сталкиваются разработчики, запускающие движок Unity для работы с Android. Причина почти всегда одна: редактор установлен без модуля Android Build Support, либо путь к SDK задан вручную и указывает на пустую папку. Проверить это можно за минуту через Unity Hub, не переустанавливая весь редактор.

Unity остаётся одним из самых популярных инструментов для создания мобильных игр: на нём собрана значительная часть проектов из Google Play. В этом материале разберём, как правильно установить движок с поддержкой Android, настроить окружение, собрать первый APK и избежать типичных ошибок на каждом этапе.

Что нужно для работы Unity с Android

Для сборки Android-приложений недостаточно одного редактора Unity. Движок использует внешние инструменты: Android SDK (набор библиотек и платформенных утилит), Android NDK (для нативного кода) и OpenJDK (для компиляции). Хорошая новость — современные версии Unity умеют ставить всё это автоматически через Unity Hub.

Также потребуется само Android-устройство для тестирования либо эмулятор. Физический смартфон предпочтительнее: он показывает реальную производительность, отклик сенсора и поведение игры на конкретном железе, которое эмулятор воспроизводит лишь приблизительно.

  • 📱 Смартфон или планшет на Android с включённой отладкой по USB
  • 💻 Компьютер с достаточным объёмом свободного места — редактор вместе с SDK занимает десятки гигабайт
  • 🔌 USB-кабель, поддерживающий передачу данных (не только зарядку)
  • 🌐 Стабильный интернет для загрузки модулей и зависимостей

Установка Unity с модулем Android Build Support

Откройте Unity Hub и перейдите на вкладку установок. При добавлении новой версии редактора Hub предложит выбрать модули — здесь отметьте Android Build Support. Внутри него раскройте вложенные пункты и убедитесь, что отмечены Android SDK & NDK Tools и OpenJDK. Если этого не сделать, сборка завершится ошибкой ещё на этапе поиска инструментов.

Если редактор уже установлен без нужного модуля, удалять его не нужно. В Unity Hub нажмите на значок шестерёнки рядом с версией редактора, выберите Add modules и доустановите Android Build Support — модуль подтянется к существующей установке.

☑️ Подготовка Unity к сборке под Android

Выполнено: 0 / 5
⚠️ Внимание: не скачивайте Android SDK отдельно с посторонних источников и не подсовывайте Unity «чужой» SDK из Android Studio, если не уверены в совместимости версий. Возможная причина половины ошибок сборки — конфликт версий инструментов. Безопаснее использовать комплект, который ставит сам Unity Hub.

Проверка путей в External Tools

После установки откройте в редакторе Edit → Preferences → External Tools. В разделе Android должны быть проставлены пути к JDK, SDK и NDK, а рядом — отметки, что инструменты установлены вместе с Unity. Если галочки сняты и поля пустые, нажмите кнопку копирования пути или вернитесь в Hub и доустановите модуль.

Ручное указание путей — крайняя мера. Она оправдана, только если вы осознанно используете конкретную версию SDK, например по требованиям legacy-проекта. В остальных случаях автоматическое определение надёжнее и исключает опечатки в путях.

📊 На каком этапе работы с Unity под Android у вас возникали сложности?
Установка SDK и модулей
Настройка проекта и Player Settings
Ошибки при сборке APK/AAB
Производительность игры на устройстве

Настройка проекта перед сборкой

Переключите целевую платформу: File → Build Settings → Android → Switch Platform. Первое переключение занимает заметное время — Unity реимпортирует ассеты под новую платформу, это нормально. Затем откройте Player Settings и задайте идентификатор пакета вида com.вашакомпания.вашаигра: без уникального имени пакета приложение нельзя будет опубликовать.

Вам также нужно выбрать минимальную версию Android (Minimum API Level) и целевую (Target API Level). Здесь нет универсального значения: требования к целевому API периодически обновляются в правилах Google Play, поэтому перед публикацией сверяйтесь с актуальной документацией консоли разработчика. Слишком низкий минимальный уровень увеличивает аудиторию, но усложняет поддержку старых устройств.

Сборка APK и AAB: в чём разница

Unity умеет собирать два формата. APK — классический установочный пакет, который можно сразу закинуть на телефон и запустить. AAB (Android App Bundle) — формат публикации для Google Play: магазин сам формирует из него оптимизированные пакеты под конкретные устройства. Для тестов на своём смартфоне собирайте APK, для загрузки в консоль — AAB (в Build Settings есть соответствующая галочка Build App Bundle).

ПараметрAPKAAB
Установка на устройство напрямуюДаНет, требуется конвертация
Публикация в Google PlayОграничена правилами магазинаОсновной формат
Итоговый размер для пользователяПолный пакетТолько нужные ресурсы устройства
Подходит для быстрого тестаДаНет

Для публикации потребуется подпись приложения. Создайте keystore через Player Settings → Publishing Settings → Keystore Manager и храните файл в надёжном месте. Потеря keystore означает невозможность обновлять опубликованное приложение — восстановить ключ нельзя.

Запуск и отладка на устройстве

На смартфоне включите режим разработчика: обычно это делается многократным нажатием на пункт Номер сборки в разделе «О телефоне», однако точный путь зависит от оболочки производителя — сверьтесь с инструкцией своей модели. Затем активируйте отладку по USB и подключите устройство к компьютеру. При первом подключении на экране телефона появится запрос на разрешение отладки — подтвердите его.

В Build Settings выберите устройство в выпадающем списке и нажмите Build And Run: Unity соберёт проект, установит его на смартфон и сразу запустит. Если устройство не отображается в списке, проверьте кабель, разрешение отладки на телефоне и при необходимости перезапустите редактор.

Устройство не определяется — что проверить

1) Кабель поддерживает передачу данных, а не только зарядку. 2) На телефоне подтверждён запрос RSA-отпечатка. 3) Режим USB-подключения не ограничен «только зарядкой». 4) На Windows для некоторых смартфонов нужен USB-драйвер производителя. 5) Попробуйте другой USB-порт, желательно напрямую, без хаба.

Типичные ошибки сборки и их причины

Ошибка Gradle build failed — общий симптом с десятками возможных причин: конфликт версий библиотек, нехватка памяти, битый кэш. Первый шаг диагностики — открыть полный лог в консоли Unity и найти первую строку с ошибкой, а не последнюю: именно она указывает на источник проблемы.

Другая частая ситуация — игра собирается, но вылетает при запуске на устройстве. Возможная причина — отсутствие нужных разрешений, несовместимость графического API или ресурсы, не включённые в сборку. Для анализа используйте Android Logcat (пакет доступен через Package Manager): он показывает системный журнал устройства прямо в редакторе.

⚠️ Внимание: не меняйте сразу несколько настроек, пытаясь починить сборку. Меняйте по одному параметру и пересобирайте проект — иначе вы не поймёте, какое именно действие помогло, и не сможете воспроизвести решение.

Оптимизация под мобильное железо

Мобильные устройства слабее ПК и сильнее греются, поэтому сцену из редактора нельзя переносить на смартфон без доработки. Сожмите текстуры под форматы, поддерживаемые Android-устройствами, уменьшите количество одновременных источников света и проверьте число вызовов отрисовки (draw calls) через встроенный Profiler.

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

Часто задаваемые вопросы

Можно ли разрабатывать на Unity для Android без смартфона?

Да, часть работы выполняется в редакторе и на эмуляторе. Однако финальную проверку производительности, сенсорного управления и отображения интерфейса стоит проводить на физическом устройстве — эмулятор не воспроизводит реальное железо.

Чем AAB отличается от APK и что выбрать?

APK — самодостаточный установочный файл для прямой установки. AAB — формат для Google Play, из которого магазин собирает оптимизированные пакеты. Для тестов используйте APK, для публикации — AAB.

Почему Unity не видит Android SDK после установки?

Возможные причины: модуль Android Build Support установлен без вложенных компонентов SDK/NDK, либо в External Tools сняты автоматические пути. Проверьте состав модуля в Unity Hub и раздел Preferences в редакторе.

Что делать, если потерян файл keystore?

К сожалению, восстановить его нельзя: обновлять приложение с прежним идентификатором под новой подписью Google Play не позволит. Поэтому храните копии keystore в нескольких защищённых местах сразу после создания.

Нужно ли платить за использование Unity в мобильной разработке?

У Unity существует бесплатный тариф Personal с ограничениями по годовому доходу и финансированию. Условия лицензирования периодически меняются, поэтому актуальные правила проверяйте на официальном сайте Unity перед коммерческим релизом.