Unity на Android: полное руководство по разработке и сборке игр

Ошибка «Android SDK not found» при первой сборке проекта под Android — самая частая проблема, с которой сталкиваются разработчики в Unity: движок установлен, но путь к Android SDK не прописан или модуль поддержки платформы не загружен через Unity Hub. Проверить это можно за минуту: откройте Edit → Preferences → External Tools и посмотрите, отображаются ли пути к SDK, NDK и JDK без предупреждающих значков.

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

Установка Unity и модулей для Android

Начните с установки Unity Hub — официального менеджера версий движка. Через него загружается редактор нужной версии (рекомендуется LTS-ветка, так как она получает стабильные обновления) и дополнительные модули. При установке редактора обязательно отметьте галочкой Android Build Support — вместе с ним подтянутся SDK, NDK и OpenJDK, совместимые с выбранной версией Unity.

Если модуль не был установлен сразу, его можно добавить позже: в Unity Hub откройте вкладку Installs, нажмите на шестерёнку рядом с версией редактора и выберите Add Modules. После установки перезапустите редактор, чтобы пути к инструментам подхватились автоматически.

  • 📦 Android Build Support — основной модуль платформы;
  • 🔧 Android SDK & NDK Tools — инструменты сборки и нативной отладки;
  • OpenJDK — среда Java, необходимая для компиляции;
  • 📱 Драйверы устройства — для тестирования на реальном смартфоне по USB.

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

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

В разделе Other Settings укажите Package Name в формате com.company.gamename — этот идентификатор должен быть уникальным, изменить его после публикации в Google Play нельзя. Также настройте минимальную версию Android API: чем она ниже, тем шире охват устройств, но тем меньше современных функций доступно. Подбор конкретного уровня API зависит от вашей целевой аудитории.

Обратите внимание на параметр Scripting Backend: вариант IL2CPP обычно даёт лучшую производительность и требуется для сборки 64-битных версий, которые Google Play обязательно запрашивает при публикации. Вариант Mono собирается быстрее и удобен на этапе отладки.

📊 На каком этапе разработки под Android вы сейчас находитесь?
Только устанавливаю инструменты
Настраиваю проект и собираю первый APK
Отлаживаю игру на устройстве
Готовлю релиз в Google Play

Подключение устройства и тестирование

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

Подключите смартфон к компьютеру кабелем и подтвердите запрос на разрешение отладки на экране устройства. В Unity в окне Build Settings выберите устройство в списке Run Device и нажмите Build And Run — игра соберётся и сразу установится на телефон.

⚠️ Внимание: если устройство не отображается в списке, проверьте кабель (некоторые кабели передают только питание), драйверы и то, что на смартфоне подтверждён запрос на отладку. Не используйте USB-хабы без необходимости — подключайте кабель напрямую к порту компьютера.

Сборка APK и AAB: пошаговая инструкция

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

☑️ Проверка перед сборкой релизной версии

Выполнено: 0 / 6

Подпись приложения выполняется через keystore — файл ключа, который создаётся в разделе Player Settings → Publishing Settings. Сохраните этот файл и пароли в надёжном месте: потеря ключа лишит вас возможности обновлять опубликованное приложение.

Что такое keystore и зачем он нужен

Keystore — это защищённый паролем контейнер с цифровым ключом разработчика. Android требует, чтобы все обновления приложения были подписаны тем же ключом, что и первая версия. Если ключ утерян, обновить приложение под тем же Package Name не получится — придётся публиковать его заново как новое.

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

Большинство проблем на этапе сборки связано с инструментами Android, а не с кодом игры. Ниже — распространённые сценарии и способы диагностики.

ОшибкаВероятная причинаЧто проверить
SDK not foundНе прописан путь к SDKПути в Preferences → External Tools
Gradle build failedКонфликт плагинов или версийЛог в Console, совместимость плагинов
Device not foundНет драйвера или отладка выключенаОтладка по USB, кабель, драйверы
Duplicate classДва плагина содержат одну библиотекуПапку Plugins/Android на дубли

Если сборка зависла или упала с непонятной ошибкой, первым делом посмотрите полный текст в окне Console — там обычно указан конкретный этап, на котором произошёл сбой. Часто помогает очистка кэша сборки: удалите папки Library и Temp в корне проекта (при закрытом редакторе) и дайте Unity пересобрать проект.

⚠️ Внимание: удаление папки Library безопасно — Unity восстановит её автоматически, но первая после этого загрузка проекта займёт заметно больше времени. Не удаляйте папки Assets и ProjectSettings — в них хранятся сами ресурсы и настройки проекта.

Оптимизация игры под Android

Мобильные устройства сильно различаются по производительности, поэтому оптимизация — обязательная часть разработки. Начните с профилирования: встроенный Unity Profiler при подключённом устройстве показывает, что именно нагружает процессор или видеочип — скрипты, отрисовку или физику.

Основные направления оптимизации:

  • 🎨 Сжатие текстур в формат ASTC — снижает объём памяти и ускоряет загрузку;
  • 🔢 Уменьшение draw calls через объединение мешей и атласы спрайтов;
  • 💡 Запечённое освещение (light baking) вместо динамических источников света;
  • ⚙️ Ограничение частоты кадров через Application.targetFrameRate для снижения нагрева;
  • 🧹 Пулы объектов вместо частых вызовов Instantiate и Destroy.

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

Публикация в Google Play: краткий обзор

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

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

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

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

Да. Unity предоставляет бесплатный план Personal для разработчиков с небольшим доходом, а инструменты Android SDK, NDK и OpenJDK распространяются бесплатно. Платным является только аккаунт разработчика Google Play для публикации.

Что лучше собирать для теста — APK или AAB?

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

Почему игра тормозит на телефоне, хотя в редакторе работает плавно?

Редактор работает на компьютере, мощность которого значительно выше мобильной. Проверьте игру через Profiler на реальном устройстве: типичные причины просадок — большое число draw calls, тяжёлые текстуры без сжатия и частое создание объектов в коде.

Нужно ли знать C# для разработки на Unity?

Для полноценной разработки — да, основной язык Unity это C#. Однако начать можно с визуального скриптинга (Visual Scripting) и простых обучающих проектов, постепенно переходя к коду.

Что делать, если Unity не видит смартфон при подключении?

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