Розробка мобільної гри на Unreal Engine
Unreal Engine на мобільних — це компроміс. З одного боку — Nanite, Lumen, Blueprints, Niagara: інструментарій AAA-рівня. З іншого — вимоги до залізо суттєво вищі за Unity, розмір APK/IPA починається від 200 МБ, а тепловий троттлінг на мідл-сегменті Android-пристроїв з'являється через 10–15 хвилин інтенсивної гри. Unreal на мобільних вибирають свідомо — коли потрібна фотореалістична графіка або складні шейдери, які Unity не потягне без істотних компромісів.
Коли Unreal виправданий на мобільних
Шутери з реалістичною графікою (PUBG Mobile використовує UE4). Racing-ігри з PBR-матеріалами. Проекти, де вже є UE-команда та контент-пайплайн. Якщо потрібна казуальна гра або аркада — Unity або Godot економічніші та швидші у ітерації.
Архітектура під мобільний таргет
Mobile rendering. UE5 на мобільних працює на ES 3.1 / Vulkan (Android) та Metal (iOS). Nanite та Lumen на мобільних недоступні — лише Forward Shading або Deferred. Для iOS — Metal Performance Shaders. Scalability Groups (sg.ShadowQuality, sg.TextureQuality) налаштовуємо під пристрої: High для iPhone 14+, Medium для типового Android.
Blueprints vs C++. Швидка ітерація — Blueprints. Гарячий шлях (AI, фізика, коллізії) — C++. Виклик Blueprint з C++ через UFunction + BlueprintCallable. Blueprints у продакшні компілюються через nativization — часткова конвертація в C++ для зменшення overhead.
GameplayAbilitySystem (GAS). Для ігор з персонажами та здібностями — стандарт. UGameplayAbility, UAttributeSet, UGameplayEffect — складна система, але дає повний контроль над станами, перериванням анімацій, cooldown-ами. Альтернатива для простих механік — кастомний компонент без GAS.
Продуктивність — критична частина
Draw calls на мобільних ще жорсткіші, ніж в Unity. Mobile HDR вимкнути для всього, що нижче iPhone 13 / Snapdragon 888. r.MobileNumDynamicPointLights 0 для мідл-сегмента. r.Shadow.RadiusThreshold — видалити тені від дрібних об'єктів. Stat GPU у DeviceFront для профайлінгу на пристрої.
Текстури. ASTC для iOS та більшості Android GPU (Mali, Adreno). ETC2 як fallback для старих пристроїв. Texture Streaming обов'язковий — без нього весь світ грузиться в VRAM одночасно. r.Streaming.PoolSize — ліміт texture streaming pool.
Level Streaming. Не завантажувати весь світ одразу. ULevelStreamingDynamic::LoadLevelInstanceBySoftObjectPtr для підгрузи субуровнів по мірі руху гравця. Для лінійних рівнів — trigger volumes з LoadStreamLevel / UnloadStreamLevel.
Thermal throttling. На Android — APerformanceHintManager (NDK API 31+) для управління частотою CPU/GPU. У UE5 — FGenericPlatformMisc::SetGamepadsConnected. Моніторинг температури через UAndroidDeviceProfileSelector. На iOS — os.thermal через Metal performance HUD.
Нативні інтеграції
Google Play Billing / StoreKit — через OnlineSubsystemGooglePlay / OnlineSubsystemIOS плагіни. Настройка в DefaultEngine.ini:
[OnlineSubsystem]
DefaultPlatformService=GooglePlay
[OnlineSubsystemGooglePlay]
bEnabled=true
Firebase Analytics/Crashlytics — через сторонній плагін (Firebase Unreal SDK від Niantic Labs або кастомна інтеграція через JNI/Objective-C bridge). Офіційного Firebase плагіну від Google для UE немає — це важливе обмеження порівняно з Unity.
Admob — GoogleMobileAds плагін для UE, підтримує банери, інтерстиці, rewarded.
Сборка та дистрибуція
Android: Project Settings → Android → Minimum SDK Version — мінімум API 26 для Google Play. APK або AAB (рекомендує Google Play). Signing через keystore у Project Settings. Розмір AAB для UE-проекту без агресивної оптимізації — 300–600 МБ; Play Asset Delivery для контенту понад 150 МБ.
iOS: Xcode 15+, Minimum iOS Version → 16.0 для нового обладнання. Metal як єдиний графічний API — OpenGL ES на iOS Apple видалила в iOS 12. arm64 — єдина архітектура для актуальних пристроїв. Розмір IPA менший за APK завдяки App Thinning.
Терміни
| Проект | Команда | Орієнтир |
|---|---|---|
| Прототип / вертикальний срез | 2–3 люди | 2–3 місяці |
| Мобільна гра з 10–20 рівнями | 4–7 людей | 8–15 місяців |
| Мультиплеєр, складні механіки | 6–10+ людей | 15+ місяців |
Вартість розраховується після аналізу GDD, вимог до візуальної якості та цільових платформ.







