Unity: dasar-dasar, arsitektur dan pengembangan di C#

Penulis: IT Sectr Diterbitkan: 2026-05-02 Waktu membaca: 9 mnt

Unity — adalah mesin game lintas platform untuk membuat aplikasi 2D dan 3D dengan dukungan kompilasi untuk platform mobile, desktop, dan konsol. Ini digunakan baik untuk pengembangan game maupun untuk aplikasi non-game di bidang arsitektur, otomotif, dan ritel. Menurut Unity Technologies, 2025, lebih dari 70% game mobile di top 1000 App Store dibuat di Unity. C# — adalah bahasa pemrograman utama mesin, yang digunakan untuk menulis logika game, komponen, dan skrip editor.

Poin utama

  • Unity — mesin game lintas platform dengan dukungan 2D, 3D, AR, dan VR
  • C# — bahasa utama untuk menulis logika game, komponen, dan skrip editor
  • Arsitektur berbasis komponen — perilaku objek dibangun dari komponen (MonoBehaviour)
  • Asset Store — pasar dengan model jadi, tekstur, suara, dan plugin
  • Kompilasi mobile — build untuk iOS dan Android dengan optimalisasi arsitektur ARM

Apa itu Unity?

Unity — adalah lingkungan pengembangan game dan aplikasi real-time yang dibuat oleh Unity Technologies pada tahun 2005. Mesin ini mendukung 27 platform, termasuk iOS, Android, Windows, macOS, PlayStation, Xbox, Nintendo Switch, dan WebGL. Menurut laporan Unity Gaming Report (2024), pada tahun 2023 lebih dari 3 miliar game mobile dijalankan setiap bulan di Unity.

Fitur utama Unity adalah arsitektur berorientasi komponen. Setiap objek di scene adalah wadah kosong (GameObject) yang ditambahkan komponen yang menentukan perilakunya: rendering, fisika, suara, animasi, dan logika pengguna. Ini membedakan Unity dari mesin hierarkis seperti Unreal Engine, di mana perilaku ditentukan oleh pewarisan kelas.

Menurut Statista (2025), Unity menguasai 48% pasar mesin game untuk game mobile, mengungguli Unreal Engine (15%) dan solusi khusus (37%). Mesin ini dipilih oleh studio indie karena ambang masuk yang rendah dan oleh penerbit besar karena fleksibilitas pipeline kompilasi untuk berbagai platform.

Arsitektur Unity: scene, objek, dan komponen

Arsitektur Unity didasarkan pada empat konsep fundamental: scene, GameObjects, komponen, dan prefab. Memahami hierarki ini diperlukan untuk bekerja secara efisien dengan mesin.

Scene dan GameObjects

Scene — adalah wadah yang berisi semua objek level game atau status aplikasi. Setiap scene memiliki kumpulan GameObjects, sumber cahaya, kamera, dan sumber audio sendiri. Transisi antar scene dilakukan melalui SceneManager.LoadScene().

GameObject — blok bangunan dasar Unity. Ia tidak memiliki representasi visual atau perilaku default — ini adalah simpul kosong dalam hierarki scene. Semua perilaku dan tampilan ditambahkan melalui komponen. Misalnya, untuk membuat GameObject terlihat, ditambahkan MeshRenderer; untuk mematuhi fisika — Rigidbody.

Komponen MonoBehaviour

MonoBehaviour — adalah kelas dasar untuk semua skrip kustom di Unity. Ini menyediakan siklus hidup: Awake (dipanggil saat objek dimuat), Start (sebelum frame pertama), Update (setiap frame), FixedUpdate (setiap langkah fisika), dan OnDestroy (saat dihancurkan).

Setiap komponen dapat berinteraksi dengan komponen lain pada GameObject yang sama melalui GetComponent<T>(). Ini memungkinkan pembuatan sistem modular: misalnya, komponen Health dapat independen dari komponen Movement, tetapi keduanya dapat bereaksi terhadap peristiwa melalui UnityEvent.

Prefab

Prefab — adalah template GameObject yang disimpan di proyek sebagai aset. Perubahan pada prefab secara otomatis diterapkan ke semua instansinya di scene. Ini adalah mekanisme penggunaan ulang sentral di Unity yang mempercepat iterasi dan mengurangi jumlah kesalahan.

Prefab mendukung penyarangan (Nested Prefabs): prefab dapat berisi prefab lain, membentuk hierarki. Misalnya, prefab mobil dapat berisi prefab roda, mesin, dan bodi, masing-masing dengan komponen dan pengaturan sendiri.

Contoh kode C# di Unity

Mari kita lihat komponen dasar gerakan karakter di C#. Skrip ini memindahkan objek ke depan relatif terhadap rotasinya saat ini dan memproses input pengguna.

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);
    }
}

Metode Update() dipanggil setiap frame. Input.GetAxis membaca kontrol vertikal, SimpleMove menerapkan gerakan dengan mempertimbangkan fisika. CharacterController — komponen Unity bawaan yang menangani tabrakan tanpa perlu menulis fisika benturan.

Contoh skrip untuk menangani tabrakan dan memberikan damage:

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);
            }
        }
    }
}

Metode OnCollisionEnter dipanggil oleh mesin fisika saat GameObject bertabrakan dengan objek lain. Perbandingan dengan tag (CompareTag) menentukan dengan apa tepatnya tabrakan terjadi. Pendekatan ini memungkinkan penggunaan ulang komponen DamageHandler untuk pemain, musuh, dan objek yang dapat dihancurkan tanpa mengubah kode.

Pengembangan game mobile di Unity

Unity menyediakan alat khusus untuk mengoptimalkan game pada perangkat mobile dengan sumber daya terbatas. Arah optimalisasi utama meliputi manajemen memori, pengurangan jumlah draw calls, dan adaptasi ke berbagai resolusi layar.

Optimalisasi kinerja

Untuk platform mobile, Unity menawarkan Asset Bundles — sistem pengemasan konten yang memuat sumber daya sesuai permintaan, mengurangi ukuran awal aplikasi. Ini sangat penting untuk game dengan banyak level atau karakter, di mana memuat semua aset sekaligus tidak mungkin karena batasan toko aplikasi.

Unity Profiler memungkinkan analisis penggunaan CPU, GPU, dan memori pada perangkat nyata melalui koneksi ADB (Android) atau USB (iOS). Menurut Unity Documentation (2025), optimalisasi jumlah draw calls hingga 100–300 pada perangkat mobile memberikan 60 FPS stabil pada perangkat kelas menengah.

Input sentuh dan UI

Untuk game mobile, Unity menggunakan Input System yang mengabstraksikan kontrol sentuh, akselerometer, dan giroskop di bawah API terpadu. Joystick virtual, gesekan, dan ketukan dikonfigurasi melalui Input Action Assets tanpa menulis kode pemrosesan sentuhan.

Sistem UI Unity (uGUI) mendukung Canvas Scaler untuk adaptasi otomatis antarmuka ke berbagai rasio layar. Komponen Canvas Scaler dengan mode Scale With Screen Size memastikan tombol tidak keluar dari batas layar pada tablet dan ponsel pintar.

Kompilasi untuk iOS dan Android

Kompilasi game mobile di Unity dilakukan melalui jendela Build Settings. Untuk Android diperlukan Android SDK dan NDK, Unity menghasilkan proyek Gradle yang dikompilasi menjadi APK atau AAB. Untuk iOS diperlukan Xcode — Unity membuat proyek Xcode dengan pembungkus Objective-C/Swift, yang kemudian dikompilasi melalui Apple.

IL2CPP — opsi kompilasi yang mentranspilasi kode C# menjadi C++ dan kemudian menjadi kode ARM asli. Menurut Unity Benchmark (2024), IL2CPP meningkatkan kinerja sebesar 15–25% pada iOS dan Android dibandingkan dengan Mono, tetapi meningkatkan waktu kompilasi dan ukuran file biner.

Perbandingan Unity dengan mesin lain

Unity dibandingkan dengan Unreal Engine dan Godot sebagai alternatif utama di pasar mesin game. Pilihan tergantung pada jenis proyek, kualifikasi tim, dan platform target.

KriteriaUnityUnreal Engine 5Godot 4
BahasaC#C++ / BlueprintsGDScript / C#
GrafisBuilt-in / URP / HDRPNanite + LumenRenderer sendiri
Optimalisasi mobileSangat baik (70% game mobile)Baik (port AAA)Baik (mesin ringan)
Ambang masukRendahTinggiRendah
LisensiPersonal / Pro / Enterprise5% royalti (hingga $1M)MIT (gratis)

Untuk game mobile, Unity tetap menjadi standar industri berkat sistem rendering yang fleksibel (URP — Universal Render Pipeline) yang mengoptimalkan grafis untuk GPU mobile dengan daya komputasi terbatas. URP secara otomatis mengurangi jumlah pass rendering dan menggabungkan shader untuk mengurangi beban GPU.

Unreal Engine 5 memberikan kualitas grafis yang lebih baik (Nanite untuk geometri, Lumen untuk pencahayaan), tetapi memerlukan perangkat keras yang lebih kuat dan lebih banyak pengalaman tim. Godot menarik dengan kode terbuka dan ukuran mesin yang kecil, tetapi memiliki lebih sedikit aset siap pakai dan pasar spesialis yang lebih kecil.

Unity untuk aplikasi non-game

Unity digunakan secara aktif di luar pengembangan game — di bidang arsitektur, industri otomotif, ritel, dan pendidikan. Visualisasi real-time (RT3D) memungkinkan pembuatan presentasi 3D interaktif, simulator, dan konfigurator produk.

Dalam industri otomotif, Unity digunakan untuk membuat kembaran digital mobil dan sistem HMI (Human-Machine Interface). Mercedes-Benz dan BMW menggunakan Unity untuk pembuatan prototipe panel instrumen dan sistem multimedia sebelum prototipe fisik dirilis.

Di ritel, Unity diterapkan untuk konfigurator produk: IKEA (penataan furnitur virtual), Nike (kustomisasi sepatu), dan Audi (konfigurator mobil) — semua proyek ini dibangun di Unity. Pengguna dapat mengubah warna, material, dan perlengkapan produk secara real-time, melihat hasilnya dalam 3D.

Untuk proyek non-game, Unity menyediakan alat khusus: AR Foundation (untuk ARKit dan ARCore), Pixyz Plugin (untuk impor model CAD), dan Unity Reflect (untuk sinkronisasi dengan model BIM Revit). Perusahaan secara aktif mengembangkan arah Unity Industry, yang mencakup layanan cloud untuk klien korporat.

Pertanyaan yang Sering Diajukan

Apakah sulit bagi pemula untuk belajar bekerja di Unity?

Unity dianggap sebagai salah satu mesin game paling mudah diakses untuk pemula berkat dokumentasi yang luas, kursus Unity Learn gratis, dan komunitas yang besar. Untuk memulai, cukup mengetahui dasar-dasar C# dan memahami prinsip-prinsip arsitektur berbasis komponen. Sebagian besar pemula membuat game pertama mereka dalam 2–3 bulan.

Bisakah game 2D dibuat di Unity?

Ya, Unity memiliki pipeline 2D lengkap: Sprite Renderer, 2D Physics (Box2D), Tilemap untuk membuat level dari ubin, dan 2D Animation untuk animasi kerangka sprite. Banyak game 2D populer, termasuk Hollow Knight dan Cuphead, dibuat di Unity. Alat 2D sudah tertanam di mesin tanpa perlu menginstal plugin.

Berapa biaya Unity untuk pengembangan mobile?

Unity Personal gratis dengan pendapatan tahunan hingga $200 ribu. Unity Pro berharga $2.040 per tahun per pengembang dan mencakup alat profiling lanjutan, kompilasi cloud, dan dukungan prioritas. Untuk pengembangan mobile, fungsionalitas Personal sudah cukup untuk sebagian besar proyek indie.

Apa perbedaan Unity dengan mesin game Cocos2d?

Cocos2d — adalah kerangka kerja 2D dengan dukungan C++, Lua, dan JavaScript, yang berfokus pada game 2D sederhana. Unity adalah mesin 3D/2D lengkap dengan editor, alat visual, dan dukungan untuk 27 platform. Cocos2d populer di Asia untuk game hiper-kasual, Unity adalah pilihan universal untuk genre apa pun.

Apakah Unity mendukung AR dan VR?

Ya, Unity memiliki dukungan bawaan untuk AR dan VR melalui AR Foundation (ARKit + ARCore), XR Interaction Toolkit, dan OpenXR. Proyek VR seperti Half-Life: Alyx (demonstrasi teknis) dan VRChat dibuat di Unity. Mesin ini mendukung semua headset VR utama: Meta Quest, HTC Vive, Valve Index, dan PlayStation VR.

Kesimpulan

  • Unity — mesin lintas platform untuk game 2D/3D dan aplikasi real-time di C#
  • Arsitektur didasarkan pada scene, GameObjects, komponen MonoBehaviour, dan prefab
  • C# — satu-satunya bahasa untuk logika game, komponen, dan ekstensi editor
  • Optimalisasi mobile — IL2CPP, Asset Bundles, URP, dan Profiler untuk iOS dan Android
  • Perbandingan — Unity memimpin di pasar mobile (48%), Unreal di AAA, Godot di indie
  • Aplikasi non-game — arsitektur, otomotif, ritel, dan presentasi 3D interaktif
  • Ambang masuk — rendah, dengan kursus Unity Learn gratis dan komunitas besar

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga