Unity — це кроссплатформний ігровий рушій для створення 2D та 3D застосунків з підтримкою збірки під мобільні платформи, десктоп та консолі. Він використовується як для розробки ігор, так і для неігрових застосунків в архітектурі, автомобілебудуванні та роздрібній торгівлі. За даними Unity Technologies, 2025, на Unity створено понад 70% мобільних ігор у топ-1000 App Store. C# — основна мова програмування рушія, якою пишеться ігрова логіка, компоненти та редакторські скрипти.
Головне
Unity — це середовище розробки ігор та застосунків реального часу, створене Unity Technologies у 2005 році. Рушій підтримує 27 платформ, включаючи iOS, Android, Windows, macOS, PlayStation, Xbox, Nintendo Switch та WebGL. Згідно зі звітом Unity Gaming Report (2024), у 2023 році на Unity було запущено понад 3 мільярди мобільних ігор щомісяця.
Основна особливість Unity — компонентно-орієнтована архітектура. Кожен об’єкт на сцені являє собою порожній контейнер (GameObject), до якого додаються компоненти, що визначають його поведінку: рендеринг, фізика, звук, анімація та користувацька логіка. Це відрізняє Unity від ієрархічних рушіїв на кшталт Unreal Engine, де поведінка визначається успадкуванням класів.
За даними Statista (2025), Unity займає 48% ринку ігрових рушіїв для мобільних ігор, випереджаючи Unreal Engine (15%) та власні рішення (37%). Рушій обирають інді-студії за низький поріг входу та великі видавці — за гнучкість пайплайну збірки під різні платформи.
Архітектура Unity будується на чотирьох фундаментальних концепціях: сцени, GameObjects, компоненти та префаби. Розуміння цієї ієрархії необхідне для ефективної роботи з рушієм.
Сцена (Scene) — це контейнер, який містить всі об’єкти ігрового рівня або стану застосунку. Кожна сцена має власний набір GameObjects, джерел світла, камер та аудіоджерел. Перехід між сценами здійснюється через SceneManager.LoadScene().
GameObject — базовий будівельний блок Unity. Він не має візуального представлення та поведінки за замовчуванням — це порожній вузол в ієрархії сцени. Вся поведінка та зовнішній вигляд додаються через компоненти. Наприклад, щоб зробити GameObject видимим, до нього додають MeshRenderer; щоб він підкорявся фізиці — Rigidbody.
MonoBehaviour — це базовий клас для всіх користувацьких скриптів в Unity. Він надає життєвий цикл: Awake (викликається при завантаженні об’єкта), Start (перед першим кадром), Update (кожен кадр), FixedUpdate (кожен фізичний крок) та OnDestroy (при знищенні).
Кожен компонент може взаємодіяти з іншими компонентами на тому ж GameObject через GetComponent<T>(). Це дозволяє створювати модульні системи: наприклад, компонент Health може бути незалежним від компонента Movement, але обидва можуть реагувати на події через UnityEvent.
Префаб (Prefab) — це шаблон GameObject, збережений у проекті як асет. Зміна префабу автоматично застосовується до всіх його екземплярів на сценах. Це центральний механізм перевикористання в Unity, який прискорює ітерації та зменшує кількість помилок.
Префаби підтримують вкладеність (Nested Prefabs): префаб може містити інші префаби, утворюючи ієрархію. Наприклад, префаб автомобіля може містити префаби колеса, двигуна та кузова, кожен зі своїми компонентами та налаштуваннями.
Розглянемо базовий компонент руху персонажа на C#. Цей скрипт переміщує об’єкт вперед відносно його поточного повороту та обробляє введення користувача.
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed = 5f;
void Update()
{
float move = Input.GetAxis("Vertical");
Vector3 direction = transform.forward * move;
CharacterController controller = GetComponent<CharacterController>();
controller.SimpleMove(direction * speed);
}
}
Метод Update() викликається кожен кадр. Input.GetAxis зчитує вертикальне керування, SimpleMove застосовує рух з урахуванням фізики. CharacterController — вбудований компонент Unity, який обробляє колізії без необхідності писати фізику зіткнень.
Приклад скрипту для обробки зіткнень та нанесення шкоди:
using UnityEngine;
public class DamageHandler : MonoBehaviour
{
public int health = 100;
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Enemy"))
{
health -= 10;
if (health <= 0)
{
Destroy(gameObject);
}
}
}
}
Метод OnCollisionEnter викликається фізичним рушієм при зіткненні GameObject з іншим об’єктом. Порівняння за тегом (CompareTag) визначає, з чим саме сталося зіткнення. Такий підхід дозволяє перевикористовувати компонент DamageHandler для гравця, ворогів та руйнівних об’єктів без зміни коду.
Unity надає спеціалізовані інструменти для оптимізації ігор під мобільні пристрої з обмеженими ресурсами. Ключові напрямки оптимізації включають управління пам’яттю, зниження кількості draw calls та адаптацію під різні роздільні здатності екрану.
Для мобільних платформ Unity пропонує Asset Bundles — систему пакування контенту, яка завантажує ресурси на вимогу, зменшуючи початковий розмір застосунку. Це особливо важливо для ігор з великою кількістю рівнів або персонажів, де завантаження всіх асетів одночасно неможливе через ліміти магазинів застосунків.
Профілювальник Unity (Profiler) дозволяє аналізувати використання CPU, GPU та пам’яті на реальному пристрої через підключення по ADB (Android) або USB (iOS). За даними Unity Documentation (2025), оптимізація кількості draw calls до 100–300 на мобільних пристроях дає стабільні 60 FPS на пристроях середнього сегмента.
Для мобільних ігор Unity використовує систему Input System, яка абстрагує сенсорне керування, акселерометр та гіроскоп під єдиний API. Віртуальні джойстики, свайпи та тапи налаштовуються через Input Action Assets без написання коду обробки дотиків.
UI-система Unity (uGUI) підтримує Canvas Scaler для автоматичної адаптації інтерфейсу під різні співвідношення сторін екрану. Компонент Canvas Scaler з режимом Scale With Screen Size гарантує, що кнопки не виходять за межі екрану на планшетах та смартфонах.
Збірка мобільних ігор в Unity виконується через вікно Build Settings. Для Android потрібен Android SDK та NDK, Unity генерує Gradle-проект, який компілюється в APK або AAB. Для iOS потрібен Xcode — Unity створює Xcode-проект з Objective-C/Swift обгорткою, який фінально компілюється через Apple.
IL2CPP — опція компіляції, яка транслює C# код в C++ і потім в нативний ARM-код. За даними Unity Benchmark (2024), IL2CPP збільшує продуктивність на 15–25% на iOS та Android порівняно з Mono, але збільшує час збірки та розмір бінарного файлу.
Unity порівнюють з Unreal Engine та Godot як основними альтернативами на ринку ігрових рушіїв. Вибір залежить від типу проекту, кваліфікації команди та цільових платформ.
| Критерій | Unity | Unreal Engine 5 | Godot 4 |
|---|---|---|---|
| Мова | C# | C++ / Blueprints | GDScript / C# |
| Графіка | Built-in / URP / HDRP | Nanite + Lumen | Власний рендерер |
| Мобільна оптимізація | Відмінна (70% мобільних ігор) | Хороша (AAA-перенос) | Хороша (легкий рушій) |
| Поріг входу | Низький | Високий | Низький |
| Ліцензія | Personal / Pro / Enterprise | 5% роялті (до $1M) | MIT (безкоштовно) |
Для мобільних ігор Unity залишається стандартом індустрії завдяки гнучкій системі рендерингу (URP — Universal Render Pipeline), яка оптимізує графіку під мобільні GPU з обмеженою обчислювальною потужністю. URP автоматично зменшує кількість проходів рендерингу та об’єднує шейдери для зниження навантаження на GPU.
Unreal Engine 5 забезпечує кращу якість графіки (Nanite для геометрії, Lumen для освітлення), але потребує потужнішого обладнання та більшого досвіду команди. Godot приваблює відкритим кодом та малим розміром рушія, але має менше готових асетів та менший ринок спеціалістів.
Unity активно використовується за межами геймдеву — в архітектурі, автомобільній промисловості, роздрібній торгівлі та освіті. Візуалізація реального часу (RT3D) дозволяє створювати інтерактивні 3D-презентації, симулятори та конфігуратори продуктів.
В автомобільній індустрії Unity використовується для створення цифрових двійників автомобілів та систем HMI (Human-Machine Interface). Mercedes-Benz та BMW використовують Unity для прототипування приладових панелей та систем мультимедіа ще до того, як випущено фізичний прототип.
У роздрібній торгівлі Unity застосовується для конфігураторів продуктів: IKEA (віртуальне розставляння меблів), Nike (кастомізація кросівок) та Audi (конфігуратор автомобілів) — всі ці проекти побудовані на Unity. Користувач може в реальному часі змінювати колір, матеріали та комплектацію продукту, бачачи результат у 3D.
Для неігрових проектів Unity надає спеціальні інструменти: AR Foundation (для ARKit та ARCore), Pixyz Plugin (для імпорту CAD-моделей) та Unity Reflect (для синхронізації з BIM-моделями Revit). Компанія активно розвиває напрямок Unity Industry, який включає хмарні сервіси для корпоративних клієнтів.
Часті запитання
Unity вважається одним з найдоступніших ігрових рушіїв для початківців завдяки великій документації, безкоштовним курсам Unity Learn та величезній спільноті. Для старту достатньо знати основи C# та розуміти принципи компонентної архітектури. Більшість новачків створюють першу гру за 2–3 місяці.
Так, Unity має повноцінний 2D-пайплайн: Sprite Renderer, 2D Physics (Box2D), Tilemap для створення рівнів з тайлів та 2D Animation для скелетної анімації спрайтів. Багато популярних 2D ігор, включаючи Hollow Knight та Cuphead, створені на Unity. 2D-інструменти вбудовані в рушій без необхідності встановлення плагінів.
Unity Personal безкоштовний при річному доході до $200 тисяч. Unity Pro коштує $2 040 на рік на одного розробника та включає розширені інструменти профілювання, хмарну збірку та пріоритетну підтримку. Для мобільної розробки функціоналу Personal достатньо для більшості інді-проектів.
Cocos2d — це 2D-фреймворк з підтримкою C++, Lua та JavaScript, орієнтований на прості 2D ігри. Unity — повноцінний 3D/2D рушій з редактором, візуальними інструментами та підтримкою 27 платформ. Cocos2d популярний в Азії для гіперказуальних ігор, Unity — універсальний вибір для будь-яких жанрів.
Так, Unity має вбудовану підтримку AR та VR через AR Foundation (ARKit + ARCore), XR Interaction Toolkit та OpenXR. На Unity створено такі VR-проекти, як Half-Life: Alyx (технічна демонстрація) та VRChat. Рушій підтримує всі основні VR-шоломи: Meta Quest, HTC Vive, Valve Index та PlayStation VR.
Підсумки
Ми розробимо мобільний застосунок під ключ
IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.
Читайте також