Unity — bu 2D və 3D tətbiqləri yaratmaq üçün mobil platformalar, masaüstü kompüterlər və konsollar üçün yığılmanı dəstəkləyən kross-platformalı oyun mühərrikidir. Həm oyunların hazırlanması, həm də memarlıq, avtomobil sənayesi və pərakəndə satış sahəsində qeyri-oyun tətbiqləri üçün istifadə olunur. Unity Technologies, 2025 məlumatlarına görə, App Store-un top 1000-də olan mobil oyunların 70%-dən çoxu Unity-də yaradılıb. C# — mühərrikin əsas proqramlaşdırma dilidir, bu dildə oyun məntiqi, komponentlər və redaktor skriptləri yazılır.
Əsas məqamlar
Unity — 2005-ci ildə Unity Technologies tərəfindən yaradılmış oyun və real vaxt tətbiqlərinin hazırlanması mühitidir. Mühərrik iOS, Android, Windows, macOS, PlayStation, Xbox, Nintendo Switch və WebGL daxil olmaqla 27 platformanı dəstəkləyir. Unity Gaming Report (2024) hesabatına görə, 2023-cü ildə Unity-də hər ay 3 milyarddan çox mobil oyun işə salınıb.
Unity-nin əsas xüsusiyyəti komponent yönümlü arxitekturadır. Səhnədəki hər bir obyekt boş konteynerdir (GameObject), ona davranışını təyin edən komponentlər əlavə olunur: renderinq, fizika, səs, animasiya və istifadəçi məntiqi. Bu, Unity-ni davranışın sinif vərəsliyi ilə təyin olunduğu Unreal Engine kimi iyerarxik mühərriklərdən fərqləndirir.
Statista (2025) məlumatlarına görə, Unity mobil oyunlar üçün oyun mühərrikləri bazarının 48%-ni tutur, Unreal Engine-i (15%) və öz həlləri (37%) qabaqlayır. Mühərrik aşağı giriş səviyyəsinə görə indie studiyalar və müxtəlif platformalarda yığma pipeline-inin çevikliyinə görə böyük nəşriyyatçılar tərəfindən seçilir.
Unity arxitekturası dörd əsas konsepsiyaya əsaslanır: səhnələr, GameObjects, komponentlər və prefablar. Bu iyerarxiyanı başa düşmək mühərriklə səmərəli iş üçün vacibdir.
Səhnə (Scene) — oyun səviyyəsinin və ya tətbiq vəziyyətinin bütün obyektlərini ehtiva edən konteynerdir. Hər bir səhnənin öz GameObject dəsti, işıq mənbələri, kameralar və audio mənbələri var. Səhnələr arası keçid SceneManager.LoadScene() vasitəsilə həyata keçirilir.
GameObject Unity-nin əsas tikinti blokudur. Onun vizual təsviri və ya standart davranışı yoxdur — bu səhnə iyerarxiyasında boş düöndür. Bütün davranış və görünüş komponentlər vasitəsilə əlavə olunur. Məsələn, GameObject-i görünər etmək üçün MeshRenderer əlavə edilir; fizikaya tabe olması üçün — Rigidbody.
MonoBehaviour — Unity-də bütün fərdi skriptlər üçün əsas sinifdir. O, həyat dövriyyəsini təmin edir: Awake (obyekt yüklənərkən çağrılır), Start (ilk kadrdan əvvəl), Update (hər kadr), FixedUpdate (hər fiziki addım) və OnDestroy (məhv edilərkən).
Hər bir komponent eyni GameObject-dəki digər komponentlərlə GetComponent<T>() vasitəsilə qarşılıqlı əlaqə qura bilər. Bu, modul sistemlər yaratmağa imkan verir: məsələn, Health komponenti Movement komponentindən asılı olmaya bilər, lakin hər ikisi UnityEvent vasitƃsilə hadisələrə reaksiya verə bilər.
Prefab — layihədə asset kimi saxlanılan GameObject şablonudur. Prefabın dəyişdirilməsi avtomatik olaraq səhnələrdəki bütün nüsxələrinə tətbiq olunur. Bu, iterasiyaları sürətləndirən və səhvlərin sayını azaldan Unity-də əsas təkrar istifadə mexanizmidir.
Prefablar iç-içə yerlɑşməni (Nested Prefabs) dəstəkləyir: prefab digər prefabları ehtiva edə bilər, iyerarxiya yaradır. Məsələn, avtomobil prefabı təkər, mühərrik və kuzov prefablarını ehtiva edə bilər, hər biri öz komponentləri və parametrləri ilə.
Personajın hərəkəti üçün əsas C# komponentinə baxaq. Bu skript obyekti cari dönüşünə nisbətən irəli aparır və istifadəçi girişini emal edir.
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() metodu hər kadr çağrılır. Input.GetAxis şaquli idarəni oxuyur, SimpleMove fizikanı nəzərə alaraq hərəkəti tətbiq edir. CharacterController — toqquşmaları fizika yazmağa ehtiyac olmadan idarə edən daxili Unity komponentidir.
Toqquşmaların idarə edilməsi və zərər vurulması üçün skript nümunəsi:
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 metodu GameObject başqa bir obyektlə toqquşduqda fizika mühərriki tərəfindən çağrılır. Teq ilə müqayisə (CompareTag) toqquşmanın nə ilə olduğunu müyyənləşdirir. Bu yanaşma DamageHandler komponentinin oyunçu, düşmənlər və dağıdıla bilən obyektlər üçün kod dəyişdirmədən təkrar istifadəsinə imkan verir.
Unity məhdud resurslu mobil cihazlar üçün oyunların optimallaşdırılması üçün ixtisaslaşdırılmış alətlər təqdim edir. Əsas optimallaşdırma istiqamətlərinə yaddaşın idarə edilməsi, draw calls sayının azaldılması və müxtəlif ekran tətvüqlərinə uyğullaşma daxildir.
Mobil platformalar üçün Unity Asset Bundles təklif edir — resursları tələb əsasında yükləyən, tətbiqin başlanğıc ölçüsünü azaldan məzmun paketləmə sistemi. Bu, bütün assetlərin birdən yüklənməsinin tətbiq mağazalarının limitləri səbəbindən mümkün olmadığı çoxlu səviyyəli və ya personajlı oyunlar üçün xüsusilə vacibdir.
Unity Profiler real cihazda CPU, GPU və yaddaş istifadəsini ADB (Android) və ya USB (iOS) vasitəsilə bağlantı ilə analiz etməyə imkan verir. Unity Documentation (2025) məlumatlarına görə, mobil cihazlarda draw calls sayının 100–300-ə qədər optimallaşdırılması orta seqment cihazlarda sabit 60 FPS təmin edir.
Mobil oyunlar üçün Unity vahid API altında toxunma idarəsi, akselerometr və giroskopu abstraksiya edən Input System istifadə edir. Virtual joystiklər, sürüşdürmələr və toxunuşlar toxunma emal kodu yazmadan Input Action Assets vasitəsilə konfiqurasiya olunur.
Unity-nin UI sistemi (uGUI) interfeysin müxtəlif ekran nisbətlərinə avtomatik uyğullaşdırılması üçün Canvas Scaler-i dəstəkləyir. Scale With Screen Size rejimli Canvas Scaler komponenti düymələrin planşet və smartfonlarda ekran kənarlarından çıxmamasını təmin edir.
Unity-də mobil oyunların yığılması Build Settings pəncərəsi vasitəsilə həyata keçirilir. Android üçün Android SDK və NDK tələb olunur, Unity APK və ya AAB-ə kompilə edilən Gradle layihəsi yaradır. iOS üçün Xcode tələb olunur — Unity Objective-C/Swift örtüyü ilə Xcode layihəsi yaradır, sonra Apple vasitəsilə yığılır.
IL2CPP — C# kodunu C++-a, sonra isə yerli ARM koduna çevirən kompilə variantıdır. Unity Benchmark (2024) məlumatlarına görə, IL2CPP iOS və Android-də Mono ilə müqayisədə performansı 15–25% artırır, lakin yığma vaxtını və binar faylın ölçüsünü artırır.
Unity oyun mühərrikləri bazarında əsas alternativlər olan Unreal Engine və Godot ilə müqayisə olunur. Seçim layihənin növündən, komandanın ixtisasından və hədəf platformalardan asılıdır.
| Meyar | Unity | Unreal Engine 5 | Godot 4 |
|---|---|---|---|
| Dil | C# | C++ / Blueprints | GDScript / C# |
| Qrafika | Built-in / URP / HDRP | Nanite + Lumen | Öz renderer |
| Mobil optimallaşdırma | Ɖla (70% mobil oyun) | Yaxşı (AAA port) | Yaxşı (yüngül mühərrik) |
| Giriş səviyyəsi | Aşağı | Yüksək | Aşağı |
| Lisenziya | Personal / Pro / Enterprise | 5% royalti ($1M-dək) | MIT (pulsuz) |
Mobil oyunlar üçün Unity çevik renderinq sistemi (URP — Universal Render Pipeline) sayəsində sənaye standardı olaraq qalır, bu sistem məhdud hesablama gücünə malik mobil GPU-lar üçün qrafikanı optimallaşdırır. URP avtomatik olaraq renderinq keçidlərinin sayını azaldır və GPU yükünü azaltmaq üçün shaderləri birləşdirir.
Unreal Engine 5 daha yaxşı qrafika keyfiyyəti təmin edir (həndəsə üçün Nanite, işıqlandırma üçün Lumen), lakin daha güclü avadanlıq və komandanın daha çox təcrübəsini tələb edir. Godot açıq mənbə kodu və kiçik mühərrik ölçüsü ilə cəlb edir, lakin daha az hazır asset və daha kiçik mütəxəssis bazarına malikdir.
Unity oyun inkişafından kənarda — memarlıqda, avtomobil sənayesində, pərakəndə satış və təhsildə fəal istifadə olunur. Real vaxt vizuallaşdırması (RT3D) interaktiv 3D təqdimatlar, simulyatorlar və məhsul konfiquratorları yaratmağa imkan verir.
Avtomobil sənayesində Unity avtomobillərin rəqəmsal əkizlərinin və HMI (Human-Machine Interface) sistemlərinin yaradılması üçün istifadə olunur. Mercedes-Benz və BMW fiziki prototip buraxılmamışdan əvvəl priber panellərinin və multimedia sistemlərinin prototipləşdirməsi üçün Unity-dən istifadə edir.
Pərakəndə satışda Unity məhsul konfiquratorları üçün tətbiq olunur: IKEA (virtual mebel yerlɑşdirməsi), Nike (ayaqqabı personalizasiyası) və Audi (avtomobil konfiquratoru) — bütün bu layihələr Unity üzərində qurulub. İstifadəçi real vaxtda məhsulun rəngini, materiallarını və konfiqurasiyasını dəyişərək nəticəni 3D-də görə bilər.
Qeyri-oyun layihələri üçün Unity xüsusi alətlər təqdim edir: AR Foundation (ARKit və ARCore üçün), Pixyz Plugin (CAD modellərinin idxalı üçün) və Unity Reflect (Revit BIM modelləri ilə sinxronizasiya üçün). Şirkət Unity Industry istiqamətini fəal inkişaf etdirir, bu da korporativ müştərilər üçün bulud xidmətlərini əhatə edir.
Tez-tez verilən suallar
Unity geniş sənədləşdirmə, pulsuz Unity Learn kursları və böyük icma sayəsində yeni başlayanlar üçün ən əlçatan oyun mühərriklərindən biri hesab olunur. Başlamaq üçün C#-ın əsaslarını bilmək və komponent arxitekturasının prinsiplərini başa düşmək kifayətdir. Əksər yeni başlayanlar ilk oyunlarını 2–3 ay ərzində yaradırlar.
Bəli, Unity tam hüquqlu 2D pipeline-ə malikdir: Sprite Renderer, 2D Physics (Box2D), plitkalardan səviyyə yaratmaq üçün Tilemap və sprite skelet animasiyası üçün 2D Animation. Hollow Knight və Cuphead daxil olmaqla bir çox məşhur 2D oyun Unity-də yaradılıb. 2D alətləri plaginlər quraşdırmağa ehtiyac olmadan mühərrikə daxil edilib.
Unity Personal illik gəliri $200 minə qədər olanlar üçün pulsuzdur. Unity Pro bir tərtibatçı üçün ildə $2 040 başa gəlir və qabaqcıl profilinq alətləri, bulud yığması və prioritet dəstəyi əhatə edir. Mobil inkişaf üçün Personal funksionallığı əksər indie layihələr üçün kifayətdir.
Cocos2d — sadə 2D oyunlara yönəlmiş C++, Lua və JavaScript dəstəyi ilə 2D freymvorkdur. Unity redaktor, vizual alətlər və 27 platforma dəstəyi ilə tam hüquqlu 3D/2D mühərrikdir. Cocos2d Asiyada hiperkazuall oyunlar üçün populyardır, Unity isə istənilən janr üçün universal seçimdir.
Bəli, Unity AR Foundation (ARKit + ARCore), XR Interaction Toolkit və OpenXR vasitəsilə daxili AR və VR dəstəyinə malikdir. Unity-də Half-Life: Alyx (texniki nümayiş) və VRChat kimi VR layihələri yaradılıb. Mühərrik bütün əsas VR qulaqlıqlarını dəstəkləyir: Meta Quest, HTC Vive, Valve Index və PlayStation VR.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun