Panduan

Mulai menggunakan Unity dan Android XR

6 menit membaca
Luke Hopkins
Developer Relations Engineer, Android

Samsung Galaxy XR telah hadir, didukung oleh Android XR! Postingan blog ini adalah bagian dari Android XR Spotlight Week, tempat kami menyediakan berbagai referensi—postingan blog, video, kode contoh, dan lainnya—yang dirancang untuk membantu Anda mempelajari, membuat, dan menyiapkan aplikasi untuk Android XR. 

Sekarang adalah waktu yang tepat untuk memulai pengembangan XR. Pada bulan Desember lalu, kami mengumumkan Android XR, platform Android baru Google yang dibangun berdasarkan standar terbuka seperti OpenXR dan Vulkan, yang membuat pengembangan XR lebih mudah diakses.


Jika dikombinasikan dengan alat XR Unity yang ada, Anda akan mendapatkan tumpukan pengembangan yang canggih dan matang. Hal ini memungkinkan Anda membuat dan men-deploy aplikasi XR yang berfungsi di beberapa perangkat.

openxr_face_tracking2.webp

Baik Anda pernah melakukan pengembangan XR sebelumnya atau belum, kami ingin membantu Anda memulai.

Blog ini akan membantu Anda memulai pengembangan Android XR dan Unity. Kami akan berfokus pada langkah-langkah praktis untuk mengonfigurasi lingkungan, memahami ekosistem paket, dan mulai membangun.

Setelah membaca blog ini, Anda akan memahami:

  • Ekosistem paket
  • Langkah-langkah penyiapan penting
  • Metode input
  • Privasi dan izin
  • Lapisan komposisi

Unity untuk pengembangan Android XR

Anda dapat memilih Unity karena kompatibilitas lintas platformnya, yang memungkinkan Anda membangun sekali dan men-deploy ke Android XR dan perangkat XR lainnya.

Saat menggunakan Unity, Anda akan mendapatkan manfaat dari ekosistem dan alat XR yang matang. Unity sudah memiliki paket yang mapan seperti XR Interaction Toolkit, plugin OpenXR, lapisan komposisi XR, XR Hands, asset store yang luas dan penuh dengan komponen dan template siap XR, serta alat simulasi dan pengujian XR. Selain itu, sejak Unity 6 dirilis pada bulan November lalu, Anda juga akan mendapatkan manfaat dari peningkatan performa Universal Render Pipeline (URP), dukungan grafis Vulkan yang lebih baik, dan profil build yang ditingkatkan.

Berikut beberapa contoh project untuk mendapatkan gambaran tentang apa yang dapat dilakukan:

Penyiapan penting: dasar pengembangan Anda

Persyaratan dan penginstalan Unity 6

Anda memerlukan Unity 6 untuk membuat aplikasi, karena versi sebelumnya tidak mendukung Android XR. Instal Unity Hub terlebih dahulu, lalu Unity 6 dengan modul Android Build Support, dengan mengikuti langkah-langkah berikut.

unity6.png

Profil build Android XR: menyederhanakan konfigurasi

Profil build Unity adalah aset project yang menyimpan setelan dan konfigurasi khusus platform Anda. Jadi, daripada harus menyiapkan 15-20 setelan yang berbeda secara manual di beberapa menu, Anda dapat menggunakan profil build untuk melakukannya secara otomatis.
Anda dapat membuat profil build sendiri, tetapi untuk saat ini sebaiknya gunakan profil build Android XR khusus yang kami buat.

Anda dapat memilih profil build dengan memilih File > Build Profile dari project Unity Anda. Untuk petunjuk lengkap, lihat halaman alur kerja Mengembangkan untuk Android XR.

Jika membuat perubahan sendiri, Anda dapat membuat profil build baru untuk dibagikan kepada tim. Dengan begitu, Anda dapat memastikan pengalaman build yang konsisten di seluruh platform.

buildprofiles.png

Setelah langkah-langkah ini, Anda dapat membuat dan menjalankan APK untuk perangkat Android XR.

Graphics API: alasan Vulkan penting

Setelah menyiapkan project Unity dengan profil build Android XR, sebaiknya pastikan Anda telah menetapkan Vulkan sebagai Graphics API. Android XR dibangun sebagai platform yang mengutamakan Vulkan. Pada Maret 2025, Google mengumumkan bahwa Vulkan kini menjadi Graphics API resmi untuk Android. Vulkan adalah Graphics API tingkat rendah modern yang membantu developer memaksimalkan performa GPU modern dan membuka fitur canggih seperti ray-tracing dan multithreading untuk visual game yang realistis dan imersif.

Standar ini memberikan kompatibilitas terbaik untuk aplikasi yang ada dan mempermudah masalah serta biaya porting. Selain itu, standar ini memungkinkan Anda mengaktifkan fitur Android XR canggih seperti URP Application Space Warp dan foveated rendering

Unity 6 menangani Vulkan secara otomatis, sehingga saat Anda menggunakan profil build Android XR, Unity akan mengonfigurasi Vulkan sebagai Graphics API. Hal ini memastikan Anda mendapatkan akses ke semua fitur Android XR canggih tanpa konfigurasi manual.

Anda dapat memverifikasi setelan Graphics API dengan membuka ‘Edit’ > ‘Project Settings’ > ‘Player’ > ‘Android tab’ > ‘Other settings’ > ‘Graphics APIs’.

appentrypoint.png

Memahami ekosistem paket

Ada dua paket berbeda yang dapat Anda gunakan untuk Android XR di Unity. Salah satunya adalah menggunakan Android XR Extensions for Unity, dan yang lainnya adalah menggunakan paket Unity OpenXR: Android XR.

Mungkin terdengar sama, tetapi ikuti terus.

Paket Unity OpenXR: Android XR adalah paket Unity resmi untuk dukungan Android XR. Paket ini menyediakan sebagian besar fitur Android XR, yang tersedia melalui standar OpenXR. Paket ini juga memungkinkan integrasi AR Foundation untuk fitur mixed reality. Manfaat utama menggunakan paket Unity OpenXR: Android XR adalah paket ini menawarkan API terpadu untuk mendukung perangkat XR.


Sedangkan Android XR Extensions for Unity adalah paket XR Google, yang dirancang khusus untuk pengembangan perangkat Android XR. Paket ini melengkapi paket Unity OpenXR dengan fitur tambahan seperti mode campuran lingkungan, scene meshing, pelacakan gambar, dan pelacakan tubuh. Kekurangannya adalah Anda hanya dapat mengembangkan perangkat Android XR.


Paket yang Anda pilih akan bergantung pada kebutuhan spesifik Anda, tetapi kami umumnya merekomendasikan untuk menggunakan Unity OpenXR: Android XR, karena paket ini memberi Anda fleksibilitas yang jauh lebih besar untuk perangkat yang akan kompatibel dengan aplikasi Anda, lalu berdasarkan persyaratan aplikasi, Anda dapat menambahkan Android XR Extensions for Unity.

Cara menginstal paket

Untuk menambahkan paket baru, dengan project Anda terbuka di Unity, pilih ‘Window’ > ‘Package Management’ > ‘Package Manager’.

Dari sini, Anda dapat menginstal paket ini dari tab ‘Unity Registry’:

packagemanager.png

Anda dapat menginstal paket Android XR for Unity melalui GitHub dengan memilih ikon ➕, memilih ‘Install package from git URL’, lalu memasukkan ‘https://github.com/android/android-xr-unity-package.git’

packagemanager2.png

Fitur OpenXR yang diperlukan

Setelah menginstal paket yang diperlukan, mari aktifkan beberapa fitur inti agar project kita berfungsi.

Anda dapat mengaktifkan setelan OpenXR untuk Android: ‘Edit’ -> ‘Project Settings’ -> ‘XR Plugin Management’ -> Klik Android dan aktifkan OpenXR

xrpluginmgmt.png

Selanjutnya, kita perlu mengaktifkan dukungan untuk: ‘Android XR support’, kita akan membahas fitur OpenXR lainnya sesuai kebutuhan. Untuk saat ini, kita hanya perlu mengaktifkan dukungan Android XR.

Input

Android XR mendukung input untuk Tangan, Suara, Pelacakan mata, Keyboard, dan Pengontrol. Sebaiknya instal XR Interaction Toolkit dan XR Hands karena keduanya berisi prefab terbaik untuk memulai. Dengan menggunakan prefab ini, Anda akan memiliki semua yang diperlukan untuk mendukung Tangan dan Pengontrol di aplikasi.

xrinteractiontoolkit.png

Setelah XR Hands dan XR Interactive toolkit diinstal, sebaiknya impor Starter Assets dan Hands Interaction Demo. Kemudian, Anda perlu mengaktifkan profil Hand Interaction dan Khronos Simple Controller, serta mengaktifkan fitur Hand Tracking Subsystem dan Meta Hand Tracking Aim.

Anda dapat mengedit setelan ini dengan membuka ‘Edit’ > ‘Project Settings’ > XR Plug-in Management’ > ‘OpenXR’

profiles.png

Sebaiknya gunakan prefab Unity, XR Origin, yang mewakili posisi dan orientasi pengguna di ruang XR. Prefab ini berisi rig kamera dan komponen pelacakan yang diperlukan untuk merender pengalaman XR dari sudut pandang yang benar.

Cara termudah untuk menambahkan prefab ini adalah mengimpornya dari demo integrasi tangan yang kita impor sebelumnya, yang dapat ditemukan di sini ‘Hands Integration Toolkit’ > ’Hand Interaction’ > ’Prefabs’ > ’XR Origin’

prefabs.png

Sebaiknya gunakan Prefab ini daripada opsi ‘XR Origin’ di objek game karena menggunakan XR Input Modality Manager yang otomatis beralih antara tangan dan pengontrol pengguna. Hal ini akan memberi Anda kesuksesan terbaik untuk beralih antara tangan dan pengontrol.

Privasi dan izin: membangun kepercayaan pengguna

Apa pun yang Anda buat, Anda harus mendapatkan izin runtime dari pengguna. Hal ini karena pemahaman scene, pelacakan mata, pelacakan wajah, dan pelacakan tangan memberikan akses ke data yang mungkin lebih sensitif bagi pengguna.

Kemampuan ini memberikan informasi pribadi yang lebih mendalam daripada aplikasi desktop atau seluler tradisional, sehingga izin runtime memastikan pengguna memiliki kontrol penuh atas data yang mereka pilih untuk dibagikan. Jadi, untuk mematuhi kebijakan keamanan dan privasi Android, Android XR memiliki izin untuk setiap fitur ini.

Misalnya, jika Anda menggunakan paket XR Hands untuk gestur tangan kustom, Anda harus meminta izin pelacakan tangan (lihat di bawah) karena paket ini perlu melacak banyak informasi tentang tangan pengguna. Hal ini mencakup hal-hal seperti melacak pose sendi tangan serta kecepatan sudut dan linear;

Catatan: Untuk daftar lengkap ekstensi yang memerlukan izin, lihat informasi di situs developer XR.

const string k_Permission = "android.permission.HAND_TRACKING";

#if UNITY_ANDROID
void Start()
{
    if (!Permission.HasUserAuthorizedPermission(k_Permission))
    {
        var callbacks = new PermissionCallbacks();
        callbacks.PermissionDenied += OnPermissionDenied;
        callbacks.PermissionGranted += OnPermissionGranted;
        
        Permission.RequestUserPermission(k_Permission, callbacks);
    }
}

void OnPermissionDenied(string permission)
{
    // handle denied permission
}


void OnPermissionGranted(string permission)
{
    // handle granted permission
}

#endif // UNITY_ANDROID

Meningkatkan kualitas visual dengan lapisan komposisi

A Lapisan Komposisi adalah cara yang direkomendasikan untuk merender elemen UI. Lapisan ini memungkinkan elemen ditampilkan dengan kualitas yang jauh lebih tinggi dibandingkan dengan pipeline rendering standar Unity karena semuanya dirender langsung ke compositor platform.

Misalnya, jika Anda menampilkan teks, rendering Unity standar cenderung memiliki teks yang buram, tepi yang lembut, dan artefak visual. Sedangkan dengan lapisan komposisi, teks akan lebih jelas, garis luar akan lebih tajam, dan pengalaman akan lebih baik secara keseluruhan.


Selain teks, lapisan ini juga merender video, gambar, dan elemen UI dengan kualitas yang jauh lebih tinggi. Hal ini dilakukan dengan memanfaatkan dukungan native untuk lapisan compositor runtime.

Untuk mengaktifkan Lapisan Komposisi, buka Pengelola Paket, pilih ‘Unity Register’, lalu instal ‘XR Composition Layers’.

Build dan Jalankan

Setelah menginstal paket OpenXR dan mengaktifkan fitur, penyiapan prefab untuk gerakan tangan dan kepala, Anda kini dapat membuat scene dan men-deploy langsung ke headset untuk pengujian.

Langkah berikutnya: mengembangkan keterampilan

Setelah menyiapkan lingkungan pengembangan Android XR dan memahami konsep utamanya, berikut langkah-langkah berikutnya untuk melanjutkan perjalanan pengembangan XR Anda:

Referensi penting untuk terus belajar:

Contoh project untuk dipelajari:

Ditulis oleh:

Lanjutkan membaca