vrOS
Doku

Erweiterungen

Nimm, was du brauchst. Sonst nichts.

Der Kern von vrOS sind Overlays, Eingabe, Leistung und Spielbereich. Creator-Werkzeuge sind Erweiterungen, die du einzeln einschaltest — jede legt offen, welche Capabilities sie nutzt, und bleibt gestoppt, bis du dich entscheidest.

vrOS 2.0.0 liefert zuerst dieses Fundament. Die Creator-Funktionen kommen als Erweiterungen zurück, Schritt für Schritt, und diese Seite sagt, welche und wann.

So funktionieren sie

Eigene Programme, die mit deiner Erlaubnis laufen.

Beaufsichtigt, nicht fest eingebaut

Eine Erweiterung von Dritten läuft in einem eigenen Prozess. Stürzt sie ab, startet sie nach der Regel in ihrem eigenen Manifest neu, und der Rest von vrOS läuft weiter. Eingebaute Erweiterungen laufen nach derselben Disziplin als beaufsichtigte Tasks in der App.

Zustimmung, eine Capability nach der anderen

Bevor eine Erweiterung startet, zeigt vrOS in klaren Worten, wonach sie gefragt hat — Overlays, Aufnahme, Audio, Ereignisbus, Netzwerk. Du erteilst jede einzeln und kannst sie später jederzeit unter Einstellungen → Erweiterungen widerrufen. Ein Update, das etwas Neues verlangt, fragt genau danach noch einmal.

Ehrlich, was eine Freigabe bedeutet

Capabilities, die die vrOS-API kontrolliert, setzt vrOS auch durch. Netzwerkzugriff ist Offenlegung, keine Sandbox: Ein natives Programm kann einen Socket öffnen, ohne vrOS zu fragen. Deshalb steht es im Manifest, und du siehst es, bevor du irgendetwas aktivierst.

Zustand, der einen Absturz überlebt

Der Zustand einer Erweiterung liegt im vrOS-Speicher, nicht im Prozess der Erweiterung. Nach einem Absturz, einem Neustart der App oder des Rechners ist alles wieder da, wo es war, und dass SteamVR kommt und geht, reißt nichts ein.

Funktioniert auch ohne Headset

vrOS ist zuerst eine Desktop-App, und seine Erweiterungen sind es auch. Eine OSC-Nachricht senden oder ein Soundboard-Pad auslösen geht auch bei geschlossenem SteamVR.

Untätig heißt untätig

Eine Erweiterung, die aktiviert ist, aber nichts tut, lässt keine Timer laufen, pollt nichts und zeichnet nichts neu. OBS control fragt Stream- und Aufnahmestatus nur ab, solange ein Panel damit auf dem Bildschirm ist.

Erweiterungen installierst du aus einem Ordner auf deinem eigenen Rechner, und der Zustimmungsdialog kommt vor dem ersten Start. Signierte Verteilung ist ein späterer Schritt.

Panels

Die Oberfläche einer Erweiterung ist dieselbe Oberfläche.

Erweiterungen liefern ihre Panels als Slint-Dateien, und vrOS rendert sie selbst — gleicher Renderer, gleiches Design, keine Web-Engine auch nur in der Nähe.

  • Ein Panel kann ein Tab im Dash sein oder ein freies Overlay, das du in deinem Raum platzierst
  • Die Panels der eingebauten Erweiterungen gibt es in allen neun Sprachen, wie den Rest von vrOS
  • Overlay-Panels verankern sich an der Welt, an deinem Kopf oder an einer Hand und sind nach einem Neustart wieder dort, wo du sie gelassen hast
  • Die VR-Tastatur schreibt in ein Erweiterungs-Panel genauso wie in ein vrOS-eigenes
  • Ein Panel, das nicht lädt, nennt die Erweiterung und den Fehler, statt leer zu bleiben

Die Auswahl

Was kommt, und wann.

Vier Erweiterungen, in der Reihenfolge, in der sie gebaut werden. VRChat OSC, OBS control und das Soundboard sind zum Start von v2.0.0 dabei. Twitch chat steht am Ende der Reihe und hat noch kein Datum.

VRChat OSC

Zum Start

Die OSC-Oberfläche von VRChat an einem Ort: eine Chatbox mit Tippanzeige und Ton-Schalter, Avatar-Parameter rein und raus, Avatar-Wechsel, der Input-Namespace und der Kamera-Namespace. Über OSCQuery und mDNS findet VRChat die Erweiterung und den Port, auf dem sie lauscht. Dieser Port ist standardmäßig an Loopback gebunden, damit sonst niemand im Netzwerk Parameter an deinen Avatar schicken kann. Das Chatbox-Panel verankert sich an deinem Handgelenk.

OBS control

Zum Start

Verbinde dich über obs-websocket mit beliebig vielen OBS-Instanzen, lokal oder entfernt. Szenen wechseln, Stream oder Aufnahme starten und stoppen, Quellen ein- und ausblenden und sperren, Statistiken lesen. Ein kompaktes Regie-Panel schwebt vor dir, mit Szenenraster, Stream- und Aufnahmestatus und Tally.

Soundboard

Zum Start

Pads mit eigener Lautstärke und Schleife je Eintrag, abgespielt über die Audio-Engine von vrOS. Ein Sound kann mehrere Ausgänge gleichzeitig erreichen, sodass ein Clip zugleich in deinen Kopfhörern und im virtuellen Mikrofon landet. Pads sind Befehle, du kannst sie also in SteamVR auf einen Controller legen.

Twitch chat

Noch kein Datum

Chat auf einem Panel, direkt neben allem anderen. Die Anmeldung läuft über den Device-Code-Flow, vrOS sieht dein Passwort also nie. Sie steht am Ende der Reihe.

Eingebaute Erweiterungen kommen mit bereits erteilten Capabilities. Du kannst jede davon unter Einstellungen → Erweiterungen widerrufen, genau wie bei einer von Dritten.

Selbst eine bauen

Die API, die auch die eingebauten nutzen.

Erweiterungen sprechen über einen lokalen Socket mit vrOS — JSON-RPC, ein Objekt pro Zeile — und lassen sich deshalb in jeder Sprache schreiben. Dass die First-Party-Funktionen auf derselben API sitzen, ist Absicht: Wenn VRChat OSC sich nicht auf der Erweiterungs-API bauen lässt, ist die API falsch.

Das Erweiterungs-SDK ist noch nicht öffentlich.