Compilar aplicación en Unity para Meta Quest (Oculus Quest)

Introducción

En este artículo vemos cómo configurar un proyecto de Unity para crear compilaciones para Meta Quest 2, para esto vamos a usar el paquete “Oculus Integration SDK” para Unity el cual contiene todo lo necesario para comenzar a crear apps de realidad virtual para Oculus, además viene con modelos 3D y ejemplos útiles. Vamos a repasar cada configuración necesaria, crear una compilación y correrla en un dispositivo Meta Quest.

En el siguiente vídeo vemos cómo configurar Unity para compilar aplicación para Meta Quest (Oculus Quest 2).


Requisitos previos

Módulos Android instalados en Unity

Para poder compilar aplicaciones para Meta Quest se necesita tener instalado el motor Unity con los módulos de Android, que consisten en las siguientes tres aplicaciones:

aplicaciones necesarias para compilar aplicación para oculus quest con unity
Fig. 1: Se requieren estos módulos instalados en Unity HUB para compilar para Oculus Quest.

Oculus Quest SDK – Paquete de Oculus para Unity

Vamos a descargar e importar el paquete Oculus Quest SDK para Unity el cual viene con muchos Assets útiles que nos facilitarán la creación de aplicaciones VR para Oculus.

Crear cuenta de desarrollador para Oculus

Es necesaria una cuenta de desarrollador de Oculus para poder publicar aplicaciones en la tienda de Oculus

Oculus Developer HUB (Software auxiliar para desarrollar y publicar aplicaciones para Oculus)

Oculus Developer HUB permite reconocer el dispositivo Oculus desde el ordenador, configurarlo, acceder a las imágenes y vídeos capturados y permite publicar aplicaciones en la tienda de Oculus.

Oculus Android App

La aplicación para móviles de Oculus nos permite configurar nuestro dispositivo Oculus y activar el modo desarrollador para nuestro dispositivo.

Oculus App para PC (Opcional)

La aplicación de Oculus nos permite utilizar aplicaciones de realidad virtual para PC con nuestro Oculus, lo cual se puede hacer por cable o con la conexión AirLink.

Cómo configurar Unity para exportar aplicaciones para Meta Quest (Oculus Quest 2)

Ahora vamos a ver qué parámetros tenemos que configurar en el motor para poder exportar para Oculus, para esto creo un proyecto en blanco con el que vamos a ver todos los pasos.

Configurar plataforma Android como objetivo

Los dispositivos Oculus Quest utilizan Android como sistema operativo por lo que en primer lugar vamos a File > Build Settings y vamos a cambiar la plataforma objetivo a Android, como se observa en la figura 2.

ventana build settings para configurar parámetros de compilación, elegir android para compilar para oculus quest
Fig. 2: Cambiar la plataforma objetivo para la compilación.

En este caso voy a utilizar el dispositivo Oculus Quest 2, con el dispositivo conectado abro la aplicación Oculus Developer HUB para comprobar que el sistema operativo reconoce el dispositivo, si tenemos éxito deberíamos ver nuestro dispositivo como en la figura 3.

Ventana de dispositivo del programa Oculus Developer HUB. Oculus Quest conectado
Fig. 3: Ventana de dispositivo del programa Oculus Developer HUB.

Además en Unity, en la pestaña Build Settings debería aparecer el dispositivo en el campo “Run Device”, como se muestra en la figura 4. Si no vemos el dispositivo hay que volver a la parte de requisitos previos, probablemente no se ha activado el modo desarrollador o hay que activar la depuración USB.

ventana build settings para configurar parámetros de compilación, elegir android para compilar para oculus quest
Fig. 4: En la ventana Build Settings aparece el dispositivo conectado.

Importación del paquete Oculus SDK para Unity

Importamos el paquete Oculus SDK (link para descargar en la parte de arriba de requisitos previos).

En este caso vamos a agregar todos los archivos que vienen en el paquete.

importación del paquete oculus sdk para unity, con assets útiles para el desarrollo de juegos y aplicaciones para oculus quest
Fig. 5: Ventana para importar el paquete Oculus SDK para Unity.

En este punto nos aparecen varios carteles con mensajes solicitándonos una acción.

En general para todos los mensajes elijo las opciones recomendadas y las más actuales, en el caso de la figura 6 le damos a “Yes”, en el caso de la figura 7 a “Use OpenXR”.

Mensaje que aparece al importar el paquete Oculus SDK
Fig. 6: Mensaje que aparece al importar el paquete Oculus SDK.
Mensaje que aparece al importar el paquete Oculus SDK
Fig. 7: Mensaje que aparece al importar el paquete Oculus SDK.

Puede que nos solicite reiniciar el editor Unity, en cuyo caso reiniciamos el editor.

Mensaje que aparece al importar el paquete Oculus SDK
Fig. 8: Mensaje que aparece al importar el paquete Oculus SDK.

Las figuras 9 y 10 son otro ejemplo de mensajes que pueden aparecer, aplico el mismo criterio, elijo las opciones más actuales y reinicio de ser necesario.

Mensaje que aparece al importar el paquete Oculus SDK
Fig. 9: Mensaje que aparece al importar el paquete Oculus SDK.
Mensaje que aparece al importar el paquete Oculus SDK
Fig. 10: Mensaje que aparece al importar el paquete Oculus SDK.

Al momento de grabar el vídeo y escribir este artículo, al pasar por todo el proceso de configuración del paquete Oculus SDK para Unity, luego de reiniciar el editor por última vez se abre una escena ejemplo en la que se muestra un Avatar con LipSync (sincronización de labios con el input del micrófono, figura 11). Vamos a compilar esta misma escena por lo que abrimos la pestaña Build Settings (en File) y le damos al botón “Add Open Scene” para agregar la escena abierta a la compilación que vamos a crear.

ejemplo de escena para desarrollo de aplicaciones de realidad virtual para oculus usando unity
Fig. 11: Escena de ejemplo que se abre al reiniciar Unity.
ventana build settings para configurar parámetros de compilación, elegir android para compilar para oculus quest
Fig. 12: Se agrega la escena abierta a la compilación.

Configuración del plugin XR Management

El siguiente paso de la configuración es ir a la ventana “Player Settings”, podemos hacerlo desde “Edit” y también tenemos un acceso directo desde la ventana Build Settings como se muestra en la figura 13.

Acceso directo a la ventana Player Settings para configurar parámetros de la compilación.
Fig. 13: Acceso directo a la ventana Player Settings para configurar parámetros de la compilación.

En la ventana Player Settings vamos al elemento “XR Plugin Management” y le damos clic al botón para instalar que se observa en la figura 15.

Plugin XR Plugin Management
Fig. 14: Sección XR Plugin Managment.
Plugin XR Plugin Management
Fig. 15: Instalación del Plugin XR Plugin Managment.

Una vez instalado el plugin le damos clic a la casilla “Oculus” que nos aparece y esa acción hace que aparezca un nuevo elemento llamado Oculus debajo del plugin (figura 17), le damos clic al elemento Oculus.

Plugin XR Plugin Management
Fig. 16: Activamos la casilla Oculus del Plugin.
Plugin XR Plugin Management para Oculus
Fig. 17: Vamos a la nueva pestaña Oculus del Plugin

Nos aseguramos que están marcadas las casillas Quest y Quest 2 para que se aplique el plugin a estos dispositivos.

configurar Unity para exportar para Oculus Quest y Oculus Quest 2
Fig. 18: Nos aseguramos que están marcadas las casillas Quest y Quest2

Configurar Color Space apropiado

Antes de compilar una aplicación para Oculus Quest en Unity tenemos que asegurarnos de cambiar el parámetro “Color Space” que se encuentra en la ventana Project Settings, Player y dentro del menú desplegable “Other Settings”, como se observa en la figura 19. Si este paso no se hace vamos a tener errores en consola al momento de compilar la aplicación.

el parámetro color space tiene que estar en Linear para poder compilar aplicaciones de realidad virtual para oculus con Unity
Fig. 19: Cambio del parámetro Color Space a Linear para poder compilar para Oculus.

Compilación de aplicación de realidad virtual y prueba en Oculus Quest 2

Una vez que hemos configurado todo en el motor Unity procedemos a crear una compilación de la aplicación de realidad virtual y testearla en un dispositivo como el Oculus Quest 2, para eso vamos a la ventana Build Settings y asegurándonos que en el parámetro “Run Device” tenemos nuestro dispositivo (asegurarse de que el dispositivo esté conectado por USB o AirLink), le damos clic en Build and Run, elegimos la carpeta de destino del archivo APK y le damos un nombre, como se observa en las figuras 20 y 21.

IMPORTANTE: Si el dispositivo no aparece en el campo “Run Device” se puede hacer clic en el botón Build, exportar el archivo APK y luego instalar ese archivo por medio del software Oculus Developer HUB arrastrando el archivo APK a la ventana que se observa en la figura 3 al principio de este artículo.

compilación de una aplicación de realidad virtual para oculus con Unity
Fig. 20: Creamos la compilación para Oculus dando click en Build and Run.
compilación de una aplicación de realidad virtual para oculus con Unity
Fig. 21: Nombramos el archivo APK para compilar.

Cuando el proceso termina la aplicación se ejecuta automáticamente en el dispositivo Oculus Quest 2, el resultado de esto lo vemos en la siguiente imagen:

Prueba de la escena ejemplo en Oculus Quest 2.
Fig. 22: Prueba de la escena ejemplo en Oculus Quest 2.

Dónde se encuentra la aplicación instalada en Oculus

Como estamos haciendo una prueba, esta aplicación de realidad virtual no fue validada por la tienda de Oculus y por lo tanto nuestro dispositivo la coloca en una sección aparte de aplicaciones con “Orígenes desconocidos”, en esa sección podemos encontrar la aplicación que fue instalada desde Unity, ver figuras 23 y 24.

Las aplicaciones de realidad virtual compiladas desde Unity para Oculus Quest se encuentran en la sección "orígenes desconocidos"
Fig. 23: Las aplicaciones de prueba se encuentran en la sección “Orígenes Desconocidos”.
Aplicación de realidad virtual para Oculus Quest 2 compilada con Unity.
Fig. 24: Aplicación de realidad virtual para Oculus Quest 2 compilada con Unity.

Para que las aplicaciones aparezcan en la sección principal debemos subirlas a la tienda de oculus.

Scroll al inicio
Secured By miniOrange