Cómo crear una app para XREAL One Pro con el SDK de Unity

Cómo crear una app para XREAL One Pro con el SDK de Unity

Resumen ejecutivo

Esta guía del SDK de Unity para XREAL One Pro muestra a desarrolladores y equipos de negocio cómo crear y probar una app con XREAL SDK 3.1.0. El primer resultado es un APK de Android que se abre a través de XREAL Control Glasses en un teléfono compatible. Empieza con la muestra oficial Hello MR y, después, añade un sencillo panel de instrucciones empresariales si necesitas mostrar contenido de tus propios flujos de trabajo.

La primera compilación de Hello MR no requiere código personalizado. Una experiencia específica para la empresa sí requiere trabajo de desarrollo en Unity cuando los equipos añaden sus propios pasos, controles, flujo de datos, autenticación o conexión con un backend. Las XREAL One Pro son una pantalla conectada, no un ordenador autónomo, por lo que es el teléfono compatible el que ejecuta la app. Confirma la compatibilidad, los permisos, el tratamiento de datos y la gestión de dispositivos con tu equipo técnico interno antes de un despliegue más amplio.

Introducción

El flujo de trabajo del SDK de Unity para XREAL One Pro es una forma práctica de probar una interfaz empresarial de manos libres, como una lista de tareas, una vista de asistencia remota o una breve instrucción de trabajo. Consulta la página de producto de XREAL One Pro en VR Expert para ver una descripción general del dispositivo. Esta guía se centra en la ruta de desarrollo con Unity y en las comprobaciones que importan antes de un piloto empresarial: teléfono anfitrión compatible, plugin de XREAL correcto, permisos de Android y una primera compilación clara.

Requisitos del SDK de Unity para XREAL One Pro

  • Ruta de desarrollo: XREAL SDK para Unity. Esta guía no cubre el desarrollo nativo en Android, Java o Kotlin.
  • Documentación actual del SDK: versión 3.1.0 en el momento de la consulta. Revisa las notas de versión más recientes de XREAL antes del desarrollo o el despliegue.
  • Versiones de Unity en la guía de inicio rápido: Unity 2021.3 LTS, 2022.3 LTS o Unity 6000.0 LTS con Android Build Support.
  • Anfitrión compatible: XREAL indica Beam Pro o teléfonos Android compatibles; la guía de inicio rápido menciona la serie insignia Samsung S24 y posteriores. Las notas de la versión 3.1.0 indican que Beam Pro y Samsung S25 se han probado como compatibles.
  • Seguimiento en One Pro: empieza con 3DoF. XREAL SDK 3.1.0 añade 6DoF para la serie One con el XREAL Eye acoplado y el firmware de las gafas actualizado.
  • Conexión del teléfono: el teléfono necesita salida de vídeo DisplayPort por USB C y, por separado, compatibilidad como anfitrión con el XREAL SDK. La salida de pantalla por sí sola no demuestra la compatibilidad con el SDK.

Antes de abrir Unity

· Teléfono anfitrión compatible: usa Beam Pro o un teléfono que figure como compatible en la documentación actual del SDK de XREAL. Actualmente, la guía de inicio rápido indica la serie insignia Samsung S24 y posteriores; las notas de la versión 3.1.0 identifican Beam Pro y Samsung S25 como anfitriones probados y compatibles (XREAL prueba el S24 con Android 14 y el S25 con Android 15). Preferiblemente, no actualices el teléfono a Android 16, ya que la documentación de XREAL incluye el aviso «No actualices tus dispositivos de desarrollo a Android 16», y desactiva Samsung DeX durante el desarrollo.

· Unity: instala un editor de Unity LTS de los que indica XREAL con Android Build Support. Si falta, añade Android Build Support desde Unity Hub > Installs > (tu editor) > Add modules.

· Herramientas del SDK de Android: instala Android SDK 12.0 (API 31) o posterior desde Android Studio > More Actions > SDK Manager, o desde Tools > SDK Manager en un proyecto abierto de Android Studio. Se trata solo de la cadena de herramientas de compilación de Android para Unity, no de un flujo de trabajo de app nativa.

· SDK y runtime: descarga XREAL SDK for Unity 3.1.0 desde la página de descargas para desarrolladores de XREAL. Obtén ControlGlasses 3.1.0 desde el enlace de la nota de la versión del SDK 3.1.0; la página de descargas todavía muestra la compilación anterior 1.1.0, que corresponde al SDK 3.0.0. Revisa las notas de firmware actuales antes de las pruebas.

· Condiciones del SDK y aviso sobre datos: antes del desarrollo, revisa y acepta los XREAL APIs Terms vigentes. XREAL exige que los desarrolladores informen de cómo el SDK recopila y trata los datos en la app, y recomienda identificar el XREAL SDK y enlazar a su política de privacidad. Añade esta información junto con la información de privacidad y el proceso de revisión propios de tu organización.

· Cable de las gafas: usa una conexión USB C compatible con vídeo DisplayPort. Confirma también que el teléfono es un anfitrión compatible con el SDK, ya que se trata de una comprobación distinta.

Crear y ejecutar la primera app para XREAL One Pro

Paso 1 Crear un proyecto de Unity para Android

· Abre Unity Hub. Selecciona Projects y, después, New project.

· Elige una plantilla. Selecciona una plantilla 3D, introduce un nombre de proyecto claro, como `BusinessXREALPilot`, y haz clic en Create project.

· Cambia a Android. En el editor de Unity, abre File > Build Settings o, en Unity 6, el Android Build Profile. Selecciona Android y elige Switch Platform.

Comprobación: la plataforma Android está seleccionada y Unity ha terminado de importar el proyecto.

Paso 2 Instalar los paquetes XR de Unity

· Abre Package Manager. En el editor de Unity, elige Window > Package Manager.

· Selecciona Unity Registry. Usa el menú de origen de paquetes de la parte superior izquierda y busca XR Interaction Toolkit.

· Instala el toolkit. Selecciona XR Interaction Toolkit (XREAL admite las versiones 2.5.x y 3.0.x) y haz clic en Install. Abre su pestaña Samples e importa Starter Assets y Hands Interaction Demo; las notas de resolución de problemas de XREAL indican que HelloMR muestra prefabs ausentes si falta la muestra de manos.

· Mantén pequeña la primera compilación. Prescinde de AR Foundation. La tabla de compatibilidad de XREAL indica que el seguimiento de planos, el seguimiento de imágenes, el seguimiento de manos, la malla de profundidad y los anclajes espaciales no son compatibles con la serie XREAL One, con o sin el accesorio de cámara; esas funciones requieren las Air 2 Ultra, por lo que un prototipo con One Pro no puede utilizarlas.

Comprobación: XR Interaction Toolkit aparece en el proyecto y su muestra Starter Assets está importada.

Paso 3 Importar el XREAL SDK para Unity

· Abre el menú de paquetes. En Package Manager, haz clic en el botón del signo más y elige Add package from tarball.

· Selecciona el archivo del SDK. Busca el archivo descargado `com.xreal.xr.tar.gz` y haz clic en Open.

· Importa la primera muestra. Selecciona XREAL XR Plugin en Package Manager, abre Samples e importa Interaction Basics. No incluyas la muestra AR Features: sus funciones de planos, imágenes y anclajes no funcionan en la serie One.

Comprobación: XREAL XR Plugin aparece en Package Manager e Interaction Basics está disponible para importarse.

Paso 4 Activar el plugin de XREAL para Android

· Abre Project Settings. Elige Edit > Project Settings > XR Plug in Management.

· Selecciona Android. Abre la pestaña Android y marca XREAL.

· Aplica las correcciones del proyecto. Si aparece Project Validation con advertencias, ábrelo y haz clic en Fix All junto a las correcciones necesarias. Espera a que Unity termine de cambiar la configuración.

Comprobación: la pestaña Android muestra XREAL activado y los elementos de validación necesarios están corregidos.

Paso 5 Configurar la compatibilidad con One Pro y el seguimiento

· Abre la página de configuración de XREAL. En Project Settings, selecciona XR Plug in Management > XREAL.

· Comprueba la categoría de dispositivo. En Support Devices, activa la categoría Vision para las gafas de la serie XREAL One.

· Elige el seguimiento. Establece Initial Tracking Type en MODE_3DOF para unas gafas One Pro sin XREAL Eye. Usa MODE_6DOF solo cuando el XREAL Eye esté acoplado y el firmware de las gafas se haya actualizado según lo especificado para el SDK 3.1.0.

· Elige la entrada para el prototipo. Establece Initial Input Source en Controller para que el teléfono Android compatible pueda actuar como mando de la app. El rayo del mando se configura en el paso 11.

Comprobación: el proyecto está configurado para la serie XREAL One y el modo de seguimiento coincide con el hardware conectado.

Paso 6 Configurar los valores de compilación de Android

· Abre Player Settings. Vuelve a File > Build Settings o al Android Build Profile, selecciona Player Settings y abre Other Settings.

· Asigna a la app un ID único. Introduce un Package Name con estilo de dominio inverso, por ejemplo `com.companyname.workflowpilot`. No dejes el ID de la muestra en un proyecto de producción.

· Define la identidad de la app. En la misma sección de Player Settings, establece Company Name y Product Name con los nombres de tu organización y de la app piloto. En Resolution and Presentation, establece Default Orientation en Portrait, como se muestra en la guía de inicio rápido de XREAL.

· Configura las opciones gráficas. Siguiendo la guía de inicio rápido de XREAL, desactiva Auto Graphics API y usa OpenGLES3.

· Configura los niveles de API de Android. Establece Minimum API Level en Android 10 o posterior y Target API Level en Automatic (highest installed). Instala Android SDK API 31 o posterior en SDK Manager. Son ajustes distintos: las herramientas del SDK instaladas y la versión mínima de la app.

· Configura la arquitectura de Android. En Player Settings > Other Settings > Configuration, activa ARM64 para el teléfono de destino y establece Scripting Backend en IL2CPP al compilar para ARM64. XREAL documenta este requisito para las compilaciones ARM64.

Comprobación: el proyecto usa el ID de paquete y la configuración de Android necesarios para la compilación de Unity.

Paso 7 Superar las comprobaciones del manifiesto y los permisos de Android

· Usa primero el manifiesto generado. Unity y el paquete de XREAL generan o combinan las entradas del manifiesto de Android durante la compilación. No crees un manifiesto de Android personalizado para una muestra básica salvo que lo requiera un ajuste de XREAL o una función documentada. El criterio del manifiesto es que la app final declare los permisos y la configuración que necesitan sus funciones.

· Selecciona solo los permisos necesarios. En Project Settings > XR Plug in Management > XREAL, abre Android Permissions. Activa Camera solo para una función basada en la cámara, Audio solo cuando la app necesite acceso al audio y Vibration solo si la app usa respuesta háptica.

· Concede el permiso de visualización en tiempo de ejecución. Cuando Control Glasses solicite permiso al iniciarse, permite que Control Glasses se muestre sobre otras apps. Si descartaste el aviso, abre Ajustes de Android > Aplicaciones > Acceso especial de aplicaciones > Mostrar sobre otras aplicaciones > Control Glasses y actívalo. Las etiquetas exactas pueden variar según el teléfono.

Comprobación: el paquete de XREAL está configurado solo con los permisos que necesita tu prototipo, y Control Glasses puede mostrarse sobre otras apps al iniciarse.

Paso 8 Abrir Hello MR y comprobar la escena

· Busca la muestra importada. En la ventana Project de Unity, abre Assets > Samples > XREAL XR Plugin > la versión del paquete instalada > Interaction Basics.

· Abre la escena de muestra. Haz doble clic en `HelloMR.unity`. Si no está, vuelve a Window > Package Manager > XREAL XR Plugin > Samples e importa Interaction Basics.

· Guarda la escena. Elige File > Save. Revisa la Hierarchy y confirma que los objetos de la muestra son visibles.

Comprobación: Hello MR se abre sin recursos de muestra ausentes. Esta muestra te ofrece una base sin código personalizado.

Paso 9 Añadir un panel de instrucciones empresariales con C# en Unity

· Decide si añadir código. Omite este paso para compilar la muestra Hello MR sin modificar. Añádelo cuando quieras que el prototipo muestre tu propio texto de instrucciones empresariales.

· Crea un Canvas en espacio de mundo. En la Hierarchy, haz clic derecho > UI > Canvas. En la Hierarchy, coloca el Canvas directamente en la raíz de la escena o bajo XR Origin (no lo hagas hijo directo de Main Camera, para evitar que quede rígidamente fijado a la cara). Establece Render Mode en World Space. En Rect Transform, establece la posición en X 0, Y 0, Z 1.5 (delante del punto de partida del usuario), la rotación en 0, 0, 0 y la escala en 0.001 en todos los ejes.

· Añade el texto de la tarea y del estado. En la Hierarchy, haz clic derecho en Canvas > UI > Text - TextMeshPro. Importa TMP Essentials si Unity lo solicita. Cambia el nombre del primer objeto de texto a InstructionText. Crea un segundo objeto Text - TextMeshPro llamado StatusText. Da a ambos cuadros de texto un tamaño legible, por ejemplo ancho 900, alto 180 y tamaño de fuente 42. Coloca StatusText debajo de la instrucción.

· Añade un botón de finalización. En la Hierarchy, haz clic derecho en Canvas > UI > Button - TextMeshPro. Cambia su nombre a MarkCompleteButton y establece su etiqueta visible en Mark complete. Si la escena no tiene EventSystem, crea uno desde Hierarchy > clic derecho > UI > Event System. Crea un C# Script en Assets llamado BusinessChecklistDisplay y ábrelo en tu editor de código de Unity.

Comprobación: la escena tiene un Canvas en espacio de mundo, un objeto de texto TextMeshPro y un nuevo archivo de script de C#.

using TMPro; using UnityEngine; using UnityEngine.UI;

public class BusinessChecklistDisplay : MonoBehaviour { [SerializeField] private TMP_Text instructionText; [SerializeField] private TMP_Text statusText; [SerializeField] private Button completeButton;

[TextArea(2, 5)] [SerializeField] private string instruction = "Review the assigned task.\nConfirm the required item.";

private void Start() { if (instructionText == null || statusText == null || completeButton == null) { Debug.LogError("Assign the text fields and button in the Inspector.", this); return; }

instructionText.text = instruction; statusText.text = "Status: Not complete"; completeButton.onClick.AddListener(MarkComplete); }

private void MarkComplete() { statusText.text = "Status: Complete (local demo)"; completeButton.interactable = false; }

private void OnDestroy() { if (completeButton != null) completeButton.onClick.RemoveListener(MarkComplete); } }

Alcance para desarrolladores: este código muestra instrucciones y cambia el estado localmente cuando se selecciona el botón. No guarda ninguna tarea en un sistema de la empresa, no autentica a ningún usuario ni envía datos a través de la red. Esas funciones requieren código de aplicación que se ajuste al diseño de API, identidad y tratamiento de datos de tu organización. No incluyas credenciales ni registros empresariales reales en el APK.

Paso 10 Conectar el script al panel de instrucciones

· Espera a que Unity compile. Guarda el script en el editor de código, vuelve a Unity y espera hasta que desaparezca el indicador de compilación.

· Asigna el script. Arrastra `BusinessChecklistDisplay` desde la ventana Project hasta el Canvas en la Hierarchy.

· Asigna los campos de la UI. Selecciona el Canvas. En el Inspector, busca Business Checklist Display. Arrastra InstructionText y StatusText desde la Hierarchy a sus campos correspondientes y, después, arrastra MarkCompleteButton a Complete Button.

· Define los valores de muestra. En el mismo componente del Inspector, sustituye Instruction por un texto de demostración aprobado y no confidencial. Guarda la escena. Tras la selección, el botón cambia StatusText a «Complete (local demo)»; no envía ni almacena un resultado empresarial real.

Comprobación: el Inspector muestra los dos campos de texto y el botón asignados, y el texto de estado cambia cuando seleccionas Mark complete en el editor de Unity.

Paso 11 Configurar la selección con el mando para la UI

· Configura el módulo de entrada de EventSystem. Selecciona EventSystem en la Hierarchy. Elimina Standalone Input Module si está presente y, después, usa Add Component para añadir XR UI Input Module. Si el preset de XRI Starter Assets está disponible, aplica XRI Default XR UI Input Module para que el módulo tenga las acciones de entrada esperadas.

· Configura el raycaster del Canvas. Selecciona Canvas. Elimina Graphic Raycaster y añade Tracked Device Graphic Raycaster. Así, un rayo con seguimiento XR puede apuntar al botón.

· Activa la interacción con la UI en el rayo del mando. En XR Origin, selecciona el objeto del mando que tiene XR Ray Interactor. En su sección UI Interaction, activa Interaction with UI GameObjects. Mantén XREAL Initial Input Source en Controller, como en el paso 5.

· Comprueba la ruta del mando. La muestra Interaction Basics debería proporcionar los objetos del mando y las acciones de entrada. Si XR Origin no tiene XR Ray Interactor, importa la muestra XRI Starter Assets y usa su configuración de XR Origin/mando antes de compilar.

Comprobación: en el editor de Unity, el rayo del mando resalta el botón Mark complete y, al seleccionarlo, cambia el texto de estado. Repite esta prueba en el teléfono compatible y las gafas antes de usar el flujo en un piloto.

Paso 12 Opcional: conectar la finalización de tareas con una API empresarial

Términos de API empresarial antes de programar

· API REST: una dirección web y un formato de solicitud acordado que permiten a la app intercambiar datos con un servicio de la empresa.

· Token de acceso: una credencial de corta duración emitida tras un inicio de sesión aprobado; la app la envía para demostrar que el usuario tiene permiso para actuar.

· Clave de idempotencia: un ID de solicitud único que permite al servidor reconocer un reintento y evitar guardar dos veces la misma finalización.

· HTTPS: comunicación de red cifrada que protege los datos mientras viajan entre el teléfono y el servidor.

· Define primero el contrato de la API de la empresa. Pide a tu equipo de plataforma el endpoint HTTPS, los campos JSON aceptados, la fuente de identidad del usuario, el emisor del token de acceso, la respuesta de éxito y la política de reintentos. El ejemplo siguiente envía taskId, operatorId, requestId y completedAtUtc; asígnalos a los campos de la API de tu empresa antes de usarlo. Usa ID opacos aprobados por tu organización, no nombres ni registros sensibles.

· Activa el acceso a la red para esta compilación. Para la versión de la app con API, abre Edit > Project Settings > Player > Android > Other Settings > Configuration y establece Internet Access en Require. Vuelve a compilar e inspecciona el manifiesto combinado para confirmar que android.permission.INTERNET está presente. Este permiso no muestra ningún aviso de Android.

· Añade un script conector. En Unity, crea `BusinessTaskApi.cs`, pega los dos bloques de código consecutivos en el mismo archivo y en orden, y guárdalo. El segundo bloque continúa dentro de SubmitCompletion. El endpoint es un marcador de posición; sustitúyelo por el endpoint aprobado de la empresa. Mantén el token de acceso fuera del Inspector, el código fuente, el APK y los registros.

using System; using System.Collections; using System.Text; using UnityEngine; using UnityEngine.Networking;

[Serializable] public class TaskCompletionPayload { public string taskId; public string operatorId; public string requestId; public string completedAtUtc; }

public class BusinessTaskApi : MonoBehaviour { [SerializeField] private string completionEndpoint = "https://api.example.com/v1/task-completions";

public IEnumerator SubmitCompletion( string taskId, string operatorId, string accessToken, string requestId, Action<bool, string> onComplete) { if (string.IsNullOrWhiteSpace(taskId) || string.IsNullOrWhiteSpace(operatorId) || string.IsNullOrWhiteSpace(accessToken) || string.IsNullOrWhiteSpace(requestId)) { onComplete?.Invoke(false, "Missing task, user, token, or request ID."); yield break; }

if (!Uri.TryCreate(completionEndpoint, UriKind.Absolute, out Uri endpoint) || endpoint.Scheme != Uri.UriSchemeHttps) { onComplete?.Invoke(false, "Use the approved HTTPS API endpoint."); yield break; }

var payload = new TaskCompletionPayload { taskId = taskId, operatorId = operatorId, requestId = requestId, completedAtUtc = DateTime.UtcNow.ToString("o") }; byte[] body = Encoding.UTF8.GetBytes(JsonUtility.ToJson(payload));

using (var request = new UnityWebRequest(completionEndpoint, "POST")) { request.uploadHandler = new UploadHandlerRaw(body); request.downloadHandler = new DownloadHandlerBuffer(); request.timeout = 20; request.SetRequestHeader("Content-Type", "application/json"); request.SetRequestHeader("Authorization", "Bearer " + accessToken); request.SetRequestHeader("Idempotency-Key", requestId);

yield return request.SendWebRequest();

bool accepted = request.result == UnityWebRequest.Result.Success && request.responseCode >= 200 && request.responseCode < 300; string message = accepted ? "Completion accepted by the business system." : "Request failed (HTTP " + request.responseCode + "). " + request.error; onComplete?.Invoke(accepted, message); } } }

· Llama al conector desde el botón. Añade un componente `BusinessTaskApi` al Canvas y asígnalo a `taskApi` en `BusinessChecklistDisplay`. Sustituye el método `MarkComplete`, que solo funciona en local, por una llamada a una corrutina después de que el SDK de identidad de tu empresa proporcione un token de acceso válido y el sistema empresarial proporcione los ID de la tarea y del operario:

· Conecta la acción autenticada. En el script BusinessChecklistDisplay existente, el botón llama actualmente al método local MarkComplete. Para la versión de producción, cambia ese controlador para que el flujo de inicio de sesión aprobado por la empresa obtenga un token de acceso y llame a SubmitToBusinessSystem(token). No añadas un formulario de usuario y contraseña ni almacenes un token en la escena.

// Fields to add to BusinessChecklistDisplay: [SerializeField] private BusinessTaskApi taskApi; [SerializeField] private string taskId; // Set from your approved task source. [SerializeField] private string operatorId; // Set from your approved identity source. // Call this after obtaining a short-lived token from the company identity SDK. private void SubmitToBusinessSystem(string accessToken) { string requestId = System.Guid.NewGuid().ToString("N"); StartCoroutine(taskApi.SubmitCompletion( taskId, operatorId, accessToken, requestId, HandleCompletionResult)); } private void HandleCompletionResult(bool accepted, string message) { statusText.text = accepted ? "Status: Submitted" : "Status: Not submitted"; Debug.Log(message); // Do not log tokens or sensitive business data. }

Importante: `accessToken` debe proceder de tu proveedor de inicio de sesión aprobado en tiempo de ejecución. El nombre de la función anterior es un punto de traspaso, no una implementación completa de identidad. Configura la autorización en la API para la tarea y el usuario, valida cada campo en el servidor, usa un ID de solicitud estable al reintentar y no desactives el botón hasta que el servidor acepte la solicitud. Adapta el conector al esquema de respuesta de tu API y a tu versión de Unity antes de pasar a producción.

Comprobación: en un entorno de pruebas, confirma que se acepta una solicitud autorizada, que se rechaza un token caducado o no autorizado, que un tiempo de espera agotado deja la tarea visiblemente sin enviar y que reintentar con el mismo ID de solicitud no crea un duplicado.

Paso 13 Añadir la escena Hello MR a la compilación de Android

· Abre la ventana de compilación. Elige File > Build Settings. En Scenes In Build, haz clic en Add Open Scenes y confirma que HelloMR aparece en la lista y está marcada.

· En Unity 6. Abre el Android Build Profile activo y añade la escena HelloMR abierta a su lista de escenas.

Comprobación: la compilación de Android incluye la escena que acabas de probar y personalizar.

Paso 14 Compilar el primer APK

· Confirma que Android está activo. Comprueba la plataforma seleccionada en Build Settings o en el Android Build Profile.

· Compila la app. Haz clic en Build, elige una carpeta de salida y llama al archivo `BusinessXREALPilot.apk`.

· Inspecciona el manifiesto final. Abre Android Studio, elige Build > Analyze APK y selecciona BusinessXREALPilot.apk. En AndroidManifest.xml, verifica el nombre del paquete y confirma que los permisos declarados se corresponden con las funciones de este piloto. Revisa el APK compilado, ya que contiene el manifiesto combinado que instalará Unity.

· Conserva una copia de prueba versionada. Para un piloto empresarial, guarda el APK junto con su versión de Unity, la versión del XREAL SDK, el modelo de teléfono y la fecha de prueba, para que el equipo pueda repetir la misma compilación.

Comprobación: Unity crea el APK sin errores de compilación y el manifiesto resultante se ha revisado antes de la instalación.

Paso 15 Instalar el APK en un teléfono Android compatible

· Conecta el teléfono al ordenador. Usa USB o configura ADB inalámbrico. En el teléfono, activa las Opciones para desarrolladores y la Depuración por USB si vas a instalar por cable.

· Instala el APK. Usa Build and Run de Unity o ejecuta `adb install -r BusinessXREALPilot.apk` desde un terminal en el que ADB esté disponible.

· Acepta los avisos de Android. Confirma los avisos de instalación y depuración en el teléfono. Mantén el APK en el mismo teléfono compatible que vayas a usar con las gafas.

Comprobación: la nueva app de Unity aparece en la lista de apps del teléfono.

Paso 16 Iniciar la app empresarial a través de Control Glasses

· Conecta las gafas. Desconecta el teléfono del ordenador de desarrollo y conecta las XREAL One Pro a la salida DisplayPort por USB C del teléfono.

· Abre la app de runtime. En el teléfono, abre Control Glasses. Busca `BusinessXREALPilot` en su lista de apps y tócala. Beam Pro utiliza MyGlasses en su lugar.

· Concede los accesos solicitados. Permite que Control Glasses se muestre sobre otras apps si Android lo solicita. Concede Camera, Audio o Vibration solo si la app de Unity usa esas funciones y solicita el permiso correspondiente.

· Comprueba el resultado. Confirma que Hello MR y el panel opcional de instrucciones empresariales se ven en las gafas. Gira la cabeza con suavidad para confirmar que la vista sigue el modo 3DoF esperado.

Comprobación: la app se ejecuta en el teléfono compatible y su imagen aparece en las XREAL One Pro.

Comprobaciones del piloto empresarial antes de un uso más amplio

· Prueba con contenido de muestra aprobado. Mantén los datos personales, de clientes y confidenciales fuera de los primeros prototipos.

· Verifica la combinación exacta de teléfono y firmware. No des por hecho que una conexión de vídeo por USB C implica compatibilidad con el XREAL SDK.

· Confirma la entrada y la legibilidad. Comprueba el tamaño de fuente, el contraste, la posición y el número de acciones necesarias mientras llevas puestas las gafas.

· Revisa los requisitos de la empresa. Antes de un uso más amplio, comprueba la autenticación, el almacenamiento de datos, el acceso a la red, la distribución de actualizaciones, la gestión de dispositivos y los requisitos de privacidad aplicables, como el RGPD.

· Mantén un alcance realista para la app. Este proyecto demuestra que una app de Unity puede ejecutarse en esta configuración. Por sí solo no demuestra que esté lista para producción, que tenga certificación de seguridad ni que sea compatible con todos los teléfonos Android.

Conclusión

Un prototipo empresarial para XREAL One Pro empieza en Unity con el XREAL SDK actual, un anfitrión Android compatible, el plugin y los ajustes de dispositivo de XREAL, y los permisos de manifiesto y de tiempo de ejecución adecuados. La escena Hello MR ofrece una primera compilación sin código, mientras que un pequeño componente de C# en Unity puede añadir un sencillo panel de instrucciones empresariales antes de que el equipo compile e instale un APK. Inicia la app a través de Control Glasses y pruébala con el teléfono, el firmware, el contenido y el flujo de trabajo exactos previstos para el piloto. Este proceso ayuda a las empresas a validar si el software espacial de manos libres se ajusta a sus necesidades, a identificar pronto los requisitos técnicos y de privacidad, y a tomar decisiones mejor fundamentadas antes de invertir en un despliegue más amplio.

Consulta la página de producto de XREAL One Pro para conocer los detalles del producto y, después, ponte en contacto con VR Expert para valorar si el dispositivo y la configuración de software se ajustan a los requisitos de desarrollo y de piloto de tu organización.

Enlace relacionado sugerido: Análisis de XREAL One Pro para profesionales

João Noronha

Escrito por

João Noronha

Especialista en XR y Contenido Inmersivo en VR Expert

João Noronha es Especialista en XR y Contenido Inmersivo en VR Expert, con un gran interés por las tecnologías emergentes y sus aplicaciones en el mundo real. Se dedica a transformar los avances complejos en VR, AR, gafas de IA y tecnología inmersiva en contenido claro y práctico para empresas y profesionales que exploran el sector XR.