vrOS
Docs

Extensiones

Agrega lo que necesitas. Nada más.

El núcleo de vrOS son los overlays, la entrada, el rendimiento y el espacio de juego. Las herramientas de creador son extensiones que activas de a una: cada una declara las capacidades que usa y sigue detenida hasta que decidas.

vrOS 2.0.0 entrega primero esa base. Las funciones de creador vuelven como extensiones, de a poco, y esta página dice cuáles y cuándo.

Cómo funcionan

Programas aparte, que corren con tu permiso.

Supervisadas, no cosidas al núcleo

Una extensión de terceros corre en su propio proceso. Si falla, se reinicia según la política de su propio manifiesto, y el resto de vrOS sigue andando. Las extensiones integradas corren como tareas supervisadas dentro de la app, con la misma disciplina.

Consentimiento, una capacidad a la vez

Antes de que una extensión corra, vrOS enumera en palabras claras lo que pidió: overlays, captura, audio, el bus de eventos, la red. Otorgas cada una y puedes revocar cualquiera después en Configuración → Extensiones. Una actualización que pida algo nuevo vuelve a preguntar solo por eso.

Honesto sobre lo que significa otorgar

Las capacidades que controla la API de vrOS las hace cumplir vrOS. El acceso a la red es una declaración, no un sandbox: un programa nativo puede abrir un socket sin preguntarle a vrOS, así que el manifiesto lo declara y tú lo ves antes de activar nada.

Un estado que sobrevive a una caída

El estado de una extensión vive en el almacén de vrOS, no en el proceso de la extensión. Una caída, un reinicio de la app o del equipo lo trae de vuelta donde estaba, y que SteamVR entre y salga nunca lo desarma.

Funciona sin el visor puesto

vrOS es ante todo una app de escritorio, y sus extensiones también. Enviar un mensaje OSC o disparar un pad del soundboard funciona con SteamVR cerrado.

Inactiva quiere decir inactiva

Una extensión activada que no está haciendo nada no corre temporizadores, no consulta nada y no vuelve a dibujar nada. OBS control consulta el estado del stream y de la grabación solo mientras hay en pantalla un panel que lo muestra.

Las extensiones se instalan desde una carpeta de tu propia máquina, y la pantalla de consentimiento aparece antes de la primera ejecución. La distribución firmada es un paso posterior.

Paneles

La interfaz de una extensión es la misma interfaz.

Las extensiones entregan sus paneles como archivos Slint y vrOS los renderiza él mismo: mismo renderizador, mismo tema, sin ningún motor web cerca.

  • Un panel puede ser una pestaña del Dash o un overlay flotante que ubicas en tu espacio
  • Los paneles de las extensiones integradas vienen en los nueve idiomas, como el resto de vrOS
  • Los paneles overlay se anclan al mundo, a tu cabeza o a cualquiera de tus manos, y vuelven donde los dejaste después de reiniciar
  • El teclado VR escribe en un panel de extensión igual que en uno de vrOS
  • Un panel que no carga nombra la extensión y el error en lugar de quedar en blanco

La lista

Qué incluye.

Cinco extensiones vienen con vrOS 2.0.0. Cada una empieza desactivada; actívala en Configuración → Extensiones y su pestaña se suma al Dash.

VRChat OSC

En 2.0.0

Toda la superficie OSC de VRChat en un solo lugar: una chatbox con indicador de escritura e interruptor de sonido, parámetros de avatar de ida y de vuelta, cambios de avatar, el namespace de entrada y el de cámara. OSCQuery y mDNS hacen que VRChat la encuentre junto con el puerto en el que escucha. Ese puerto queda enlazado a loopback por defecto, así nada más en tu red puede empujar parámetros a tu avatar. El panel de la chatbox se ancla a tu muñeca.

OBS Control

En 2.0.0

Conéctate a hasta 16 instancias de OBS, locales o remotas, por obs-websocket. Cambia de escena, inicia y detén el stream o la grabación, activa y bloquea fuentes, y lee las estadísticas. Un panel de dirección compacto flota frente a ti con la grilla de escenas, el estado del stream y de la grabación, y el tally.

Soundboard

En 2.0.0

Pads con volumen y loop propios por entrada, reproducidos por el motor de audio de vrOS. Un sonido puede llegar a más de una salida a la vez, así que un clip suena en tus audífonos y en un micrófono virtual al mismo tiempo. Los pads son comandos, así que puedes asignarlos a un control en SteamVR.

Twitch

En 2.0.0

El chat en un panel con emotes de 7TV, un administrador de anuncios que te avisa en VR antes de cada pausa publicitaria, y hasta cuatro reproductores de streams en vivo que puedes ubicar en tu espacio. El inicio de sesión usa el flujo de código de dispositivo, así que vrOS nunca ve tu contraseña.

Steam Link Face

En 2.0.0

Trae a vrOS el seguimiento facial de un Quest Pro que transmite por Steam Link, para que O·VR pueda enviar tus expresiones a VRChat por OSC.

Las extensiones integradas llegan con sus capacidades ya otorgadas, salvo la reproducción de video y los datos faciales, que siempre esperan a que tú los permitas. Puedes revocar cualquiera en Configuración → Extensiones, igual que con una de terceros.

Crear una

La misma API que usan las integradas.

Las extensiones hablan con vrOS por un socket local — JSON-RPC, un objeto por línea — así que una extensión se puede escribir en cualquier lenguaje. Que las funciones propias estén construidas sobre esa misma API es a propósito: si VRChat OSC no se puede construir sobre la API de extensiones, la API está mal.

El SDK de extensiones todavía no es público.