Unity: əsasları, arxitekturası və C#-də tərtibat

Müəllif: IT Sectr Dərc olunub: 2026-05-02 Oxuma vaxtı: 9 dəq

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 — 2D, 3D, AR və VR dəstəyi ilə kross-platformalı oyun mühərriki
  • C# — oyun məntiqi, komponentlər və redaktor skriptləri yazmaq üçün əsas dil
  • Komponent arxitekturası — obyektlərin davranışı komponentlərdən qurulur (MonoBehaviour)
  • Asset Store — hazır modellər, teksturlar, səslər və plaginlərlə bazar yeri
  • Mobil yığma — ARM arxitekturası üçün optimallaşdırma ilə iOS və Android üçün buildlər

Unity nədir?

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ı: səhnələr, obyektlər və komponentlər

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ələr və GameObjects

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 komponentləri

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.

Prefablar

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ə.

Unity-də C# kod nümunələri

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.

csharp
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:

csharp
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-də mobil oyunların hazırlanması

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.

Performansın optimallaşdırılması

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.

Sensor girişi və UI

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.

iOS və Android üçün yığma

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-nin digər mühərriklərlə müqayisəsi

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.

MeyarUnityUnreal Engine 5Godot 4
DilC#C++ / BlueprintsGDScript / C#
QrafikaBuilt-in / URP / HDRPNanite + LumenÖz renderer
Mobil optimallaşdırmaƉla (70% mobil oyun)Yaxşı (AAA port)Yaxşı (yüngül mühərrik)
Giriş səviyyəsiAşağıYüksəkAşağı
LisenziyaPersonal / Pro / Enterprise5% 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 qeyri-oyun tətbiqləri üçün

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

Yeni başlayan üçün Unity-də işləməyi öyrənmək çətindirmi?

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.

Unity-də 2D oyunlar yaratmaq olarmı?

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.

Mobil inkişaf üçün Unity nə qədər başa gəlir?

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.

Unity Cocos2d oyun mühərrikindən nə ilə fərqlənir?

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.

Unity AR və VR dəstəkləyirmi?

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ə

  • Unity — C#-də 2D/3D oyunlar və real vaxt tətbiqləri üçün kross-platformalı mühərrik
  • Arxitektura səhnələrə, GameObjects-ə, MonoBehaviour komponentlərinə və prefablara əsaslanır
  • C# — oyun məntiqi, komponentlər və redaktor genişləndirmələri üçün yeganə dil
  • Mobil optimallaşdırma — iOS və Android üçün IL2CPP, Asset Bundles, URP və Profiler
  • Müqayisə — Unity mobil bazarda lider (48%), Unreal — AAA-da, Godot — indie-də
  • Qeyri-oyun tətbiqi — memarlıq, avtomobil sənayesi, pərakəndə satış və interaktiv 3D təqdimatlar
  • Giriş səviyyəsi — aşağı, pulsuz Unity Learn kursları və böyük icma ilə

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.

Layihəni müzakirə et

Həm də oxuyun