Мобільна гра на Unity: розробка під ключ

Draw calls, пам'ять, батарея — три вороги мобільного Unity-проєкту. Оптимізація продуктивності Unity є ключовою для успіху. Навіть при 60 FPS на флагмані гра може лагати на Xiaomi Redmi Note 8 з 3 ГБ ОЗУ: кадри просідають до 15 FPS при появі ворогів, а акумулятор гріється за 20 хвилин. Типова ситуац

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Мобільна гра на Unity: розробка під ключ
Складний
від 1 тижня до 3 місяців

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    896
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1003
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Draw calls, пам'ять, батарея — три вороги мобільного Unity-проєкту. Оптимізація продуктивності Unity є ключовою для успіху. Навіть при 60 FPS на флагмані гра може лагати на Xiaomi Redmi Note 8 з 3 ГБ ОЗУ: кадри просідають до 15 FPS при появі ворогів, а акумулятор гріється за 20 хвилин. Типова ситуація — відсутність Object Pooling, неоптимізовані текстури та нехтування IL2CPP.

Ми — команда Unity-розробників з 7+ роками досвіду, 20+ реалізованих ігор та 5+ років на ринку геймдеву. Випустили понад 20 мобільних ігор: від гіперказуальних аркад до RPG з відкритим світом. Наша спеціалізація — продуктивність на пристроях з 2 ГБ ОЗУ. Ми гарантуємо оптимізацію під слабкі пристрої — якщо гра не досягає 30 FPS на цільових пристроях, ми безкоштовно виправляємо проблеми. Замовте Unity мобільна гра розробка — ми реалізуємо ваш проєкт. Замовте розробку мобільної гри на Unity — отримайте консультацію щодо вашого проєкту.

Як забезпечити продуктивність на слабких пристроях?

Draw calls і батчинг. На мобільних GPU бюджет draw calls жорсткий: 100–200 залежно від пристрою. Оптимізація draw calls Unity реалізується через батчинг. Статична геометрія — Static Batching. Однакові матеріали — GPU Instancing. Динамічні об'єкти — Dynamic Batching (працює для меш-об'єктів < 900 вертексів). Батчинг Unity буває статичним та динамічним. Перевіряємо через Frame Debugger в Unity Editor.

Текстури і пам'ять. ASTC — формат стиснення для iOS та Mali/Adreno GPU на Android. Жодних PNG у 2048×2048 для UI-іконок розміром 64×64. Atlas-и через Sprite Atlas або ручне пакування. Моніторинг пам'яті — Memory Profiler (пакет com.unity.memoryprofiler). Типова проблема на iOS: Texture2D не вивантажується з пам'яті після Destroy() без явного Resources.UnloadUnusedAssets().

Object Pooling. Instantiate/Destroy на гарячому шляху — ворог продуктивності. Використання пулу об'єктів Unity дозволяє уникнути частих Instantiate/Destroy. UnityEngine.Pool.ObjectPool<T> (вбудований) — пул. Пулі, вороги, частинки — все через пул.

IL2CPP і AOT. Мобільні білди завжди IL2CPP, не Mono. IL2CPP швидший за Mono в 2-3 рази при виконанні коду на мобільних пристроях. IL2CPP оптимізація є обов'язковою для мобільних білдів. Рефлексія ламає strip level: якщо ReflectionProbe або кастомний серіалізатор використовує рефлексію — додаємо link.xml з явними preserve-директивами. Інакше MissingMethodException у релізному білді, якого не було в Debug.

Чому важлива архітектура проєкту?

Для мобільних ігор середньої складності використовуємо MVVM + Services без повноцінного ECS. Документація Unity рекомендує DOTS для максимальної продуктивності, але це оверкіл для більшості мобільних проєктів до аркадного жанру включно: Burst Compiler, Jobs System та NativeArray вимагають досвіду та збільшують час розробки. ECS (DOTS) забезпечує до 10 разів більшу продуктивність для певних сценаріїв, але є оверкілом для більшості мобільних проєктів.

Управління станом через Zenject або VContainer (легший аналог). Кожен сервіс (AudioService, ScoreService, InventoryService) інжектується через конструктор, а не FindObjectOfType. ScriptableObjects для конфігурації ігрових даних — рівні, характеристики ворогів, параметри прогресії. Зміна балансу без перезбирання APK/IPA через Addressables + remote config (Firebase Remote Config або Unity Remote Config).

Інтеграції для мобільного продакшену

Ads. Google AdMob через com.google.ads.mobile — банери, інтерстити, rewarded video. Unity Ads як альтернатива. Реклама в грі Unity інтегрується через AdMob та Unity Ads. Медіація через IronSource або AppLovin MAX для максимізації eCPM.

In-App Purchases. Unity IAP (пакет com.unity.purchasing) — єдиний API для App Store та Google Play. In-app purchase Unity реалізується через Unity IAP. StoreKit на iOS, Google Play Billing на Android. Валідація чеків на сервері обов'язкова — клієнтська валідація обходиться Jailbreak/Root.

Analytics. Firebase Analytics (com.google.firebase.analytics) — стандарт. Ключові події: level_start, level_end, level_fail, ad_impression, iap_purchase. Unity Analytics як вбудована альтернатива.

Crashlytics. Firebase Crashlytics — звіти про краші в реальному часі. Інтегрується через com.google.firebase.crashlytics. Кастомні ключі для контексту: Crashlytics.SetCustomKey("level", currentLevel).

CI/CD та публікація

Fastlane для автоматизації: gym для iOS-білда, supply для завантаження в Google Play, deliver для App Store. Fastlane Unity використовується для автоматизації збірок. Unity Build Automation як альтернатива для команд без налаштованого CI. CI/CD Unity налаштовується за допомогою GitHub Actions та Fastlane Unity.

GitHub Actions + game-ci/unity-builder — безкоштовна CI для Unity з кешуванням Library-папки (економить 10–30 хвилин на кожен білд).

App size. APK split по ABI — окремі файли для arm64-v8a, armeabi-v7a, x86_64. На iOS — App Thinning автоматично через Xcode. Asset Bundle Compression — LZ4 для швидкого завантаження, LZMA для мінімального розміру.

Що входить в роботу

  • Архітектура проєкту та Game Design Document
  • Прототип core gameplay та вертикальний зріз
  • Інтеграція реклами, покупок та аналітики
  • Оптимізація під десятки пристроїв (профілювання на реальному залізі)
  • Публікація в App Store та Google Play (налаштування сертифікатів, метаданих)
  • Пост-релізна підтримка: виправлення багів, оновлення контенту, моніторинг крашів
Покроковий план оптимізації гри
  1. Профілювання: запуск на слабкому пристрої (Snapdragon 660, iPhone SE 2nd gen), запис Frame Time, виявлення вузьких місць через Profiler та Frame Debugger.
  2. Оптимізація графіки: скорочення draw calls (батчинг, атласи), зменшення текстур, використання LOD.
  3. Оптимізація CPU: об'єктний пулінг, кешування компонентів, уникання Update() на неактивних об'єктах.
  4. Оптимізація пам'яті: своєчасне вивантаження ресурсів, стиснення Asset Bundle, обмеження кількості завантажених текстур.
  5. Тестування: повторне профілювання, перевірка FPS та стабільності на кількох пристроях.
Підхід Продуктивність Складність впровадження
Static Batching + GPU Instancing Висока Низька
Додатково: Object Pooling Середня Середня
Повна: ECS (DOTS) Максимальна Висока

Згідно з документацією Unity, правильне управління пам'яттю дозволяє збільшити FPS на 20–30%.

Етапи розробки

Прототип (core gameplay loop) → вертикальний зріз (один рівень з повним контентом) → alpha (всі механіки, без полірування) → beta (тестування на пристроях, оптимізація) → реліз.

Між alpha та beta — обов'язковий профілінг на реальному залізі: старий Android (Snapdragon 660, Mali G72) та iPhone SE 2nd gen. Якщо на цих пристроях стабільні 30 FPS — продукт готовий до широкої аудиторії.

Терміни

Тип гри Команда Орієнтир
Гіперказуальна / казуальна 2–3 особи 2–4 місяці
Мідкор (RPG, стратегія) 4–6 осіб 6–12 місяців
Зі складними механіками, мережевим мультиплеєром 6+ осіб 12+ місяців

Вартість гіперказуальної гри: від $10,000 до $25,000; мідкор-проєкту: $50,000–$150,000; складної гри: $150,000+. Точна сума розраховується після аналізу GDD (Game Design Document) та технічних вимог до платформ.

Отримайте консультацію з оптимізації та монетизації вашої гри — зв'яжіться з нами для обговорення деталей. Замовте розробку мобільної гри на Unity — ми допоможемо реалізувати проєкт від ідеї до релізу.