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 — 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 didasarkan pada empat konsep fundamental: scene, GameObjects, komponen, dan prefab. Memahami hierarki ini diperlukan untuk bekerja secara efisien dengan mesin.
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.
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 — 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.
Mari kita lihat komponen dasar gerakan karakter di C#. Skrip ini memindahkan objek ke depan relatif terhadap rotasinya saat ini dan memproses input pengguna.
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:
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.
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.
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.
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 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.
Unity dibandingkan dengan Unreal Engine dan Godot sebagai alternatif utama di pasar mesin game. Pilihan tergantung pada jenis proyek, kualifikasi tim, dan platform target.
| Kriteria | Unity | Unreal Engine 5 | Godot 4 |
|---|---|---|---|
| Bahasa | C# | C++ / Blueprints | GDScript / C# |
| Grafis | Built-in / URP / HDRP | Nanite + Lumen | Renderer sendiri |
| Optimalisasi mobile | Sangat baik (70% game mobile) | Baik (port AAA) | Baik (mesin ringan) |
| Ambang masuk | Rendah | Tinggi | Rendah |
| Lisensi | Personal / Pro / Enterprise | 5% 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 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
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.
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.
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.
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.
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
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.
Baca juga