Petunjuk

Mulai menggunakan Unity dan Android XR

Waktu baca: 6 menit
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, membangun, dan menyiapkan aplikasi untuk Android XR. 

Sekarang adalah waktu yang tepat untuk mulai mengembangkan XR. 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 daripada sebelumnya.


Jika digabungkan dengan alat XR Unity yang sudah ada, Anda akan mendapatkan stack pengembangan yang canggih dan matang. Hal ini memungkinkan pembuatan dan deployment aplikasi XR yang berfungsi di beberapa perangkat.

openxr_face_tracking2.webp

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

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

Di akhir blog ini, Anda akan memahami dengan baik:

  • Ekosistem paket
  • Langkah penyiapan penting
  • Metode masukan
  • Privasi dan izin
  • Lapisan komposisi

Pengembangan Unity untuk 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 sudah mapan seperti XR Interaction Toolkit, plugin OpenXR, lapisan komposisi XR, XR Hands, toko aset ekstensif yang penuh dengan komponen dan template siap XR, serta alat simulasi dan pengujian XR. Sejak Unity 6 dirilis 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 proyek untuk mendapatkan gambaran tentang apa yang dapat dilakukan:

Penyiapan penting: fondasi 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 ini.

unity6.png

Profil build Android XR: menyederhanakan konfigurasi

Profil build Unity adalah aset project yang menyimpan setelan dan konfigurasi khusus platform Anda. Jadi, alih-alih harus menyiapkan 15-20 setelan 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. Untuk mengetahui petunjuk selengkapnya, lihat halaman alur kerja Mengembangkan untuk Android XR.

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

buildprofiles.png

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

Graphics API: alasan pentingnya Vulkan

Setelah menyiapkan project Unity dengan profil build Android XR, sebaiknya pastikan Anda telah menetapkan Vulkan sebagai API grafis. Android XR dibuat sebagai platform yang mengutamakan Vulkan. Pada Maret 2025, Google mengumumkan bahwa Vulkan kini menjadi API grafis resmi untuk Android. Ini adalah API grafis 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, fitur ini memungkinkan pengaktifan fitur Android XR lanjutan seperti URP Application Space Warp dan foveated rendering

Unity 6 menangani Vulkan secara otomatis, jadi saat Anda menggunakan profil build Android XR, Unity akan mengonfigurasi Vulkan sebagai API grafis Anda. Hal ini memastikan Anda mendapatkan akses ke semua fitur Android XR lanjutan 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 dengan menggunakan Android XR Extensions untuk Unity, dan yang lainnya adalah dengan menggunakan paket Unity OpenXR: Android XR.

Keduanya mungkin terdengar sama, tetapi ikuti saya.

Paket Unity OpenXR: Android XR adalah paket Unity resmi untuk dukungan Android XR. Layanan ini menyediakan sebagian besar fitur Android XR, yang tersedia melalui standar OpenXR. Hal 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.


Sementara Android XR Extensions for Unity adalah paket XR Google, yang dirancang khusus untuk pengembangan bagi perangkat Android XR. Paket ini melengkapi paket Unity OpenXR dengan fitur tambahan seperti mode campuran lingkungan, penggabungan adegan, pelacakan gambar, dan pelacakan tubuh. Sebagai gantinya, Anda hanya dapat mengembangkan aplikasi untuk perangkat Android XR.


Pilihan yang Anda ambil akan bergantung pada kebutuhan spesifik Anda, tetapi kami umumnya merekomendasikan penggunaan Unity OpenXR: Android XR, karena memberi Anda fleksibilitas yang jauh lebih besar untuk perangkat yang akan kompatibel dengan aplikasi Anda, dan kemudian berdasarkan persyaratan aplikasi, Anda dapat menambahkan Ekstensi Android XR untuk 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 untuk 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 proyek 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: ‘Dukungan Android XR’. 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 Anda.

xrinteractiontoolkit.png

Setelah toolkit XR Hands dan XR Interactive diinstal, sebaiknya impor Aset Pemula dan Hands Interaction Demo. Kemudian, Anda perlu mengaktifkan profil Interaksi Tangan 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 merepresentasikan posisi dan orientasi pengguna di ruang XR. Objek ini berisi komponen pelacakan dan rig kamera yang diperlukan untuk merender pengalaman XR Anda dari sudut pandang yang benar.

Cara paling sederhana untuk menambahkan prefab ini adalah dengan 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 Anda 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 adegan, 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 Anda 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 berbagai hal seperti melacak pose sendi tangan serta kecepatan sudut dan linear;

Catatan: Untuk melihat 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

Lapisan Komposisi adalah cara yang direkomendasikan untuk merender elemen UI. Dengan begitu, elemen dapat 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 lebih 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, model 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 Package Manager, pilih 'Unity Register', lalu instal 'XR Composition Layers'.

Membangun dan Menjalankan

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

Langkah berikutnya: memperluas keterampilan Anda

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

Referensi penting untuk pembelajaran berkelanjutan:

Contoh project yang dapat dipelajari:

Ditulis oleh:

Lanjutkan membaca