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 dabei ist.

Fünf Erweiterungen sind in vrOS 2.0.0 dabei. Jede startet ausgeschaltet; schalte sie unter Einstellungen → Erweiterungen ein, und ihr Tab erscheint im Dash.

VRChat OSC

In 2.0.0

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

In 2.0.0

Verbinde dich über obs-websocket mit bis zu 16 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

In 2.0.0

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

In 2.0.0

Chat auf einem Panel mit 7TV-Emotes, ein Werbemanager, der dich in VR vor Werbepausen vorwarnt, und bis zu vier Livestream-Player, die du in deinem Raum platzieren kannst. Die Anmeldung läuft über den Device-Code-Flow, vrOS sieht dein Passwort also nie.

Steam Link Face

In 2.0.0

Bringt das Gesichtstracking einer Quest Pro, die über Steam Link streamt, in vrOS, damit O·VR deine Mimik per OSC an VRChat senden kann.

Eingebaute Erweiterungen kommen mit bereits erteilten Capabilities — außer Videowiedergabe und Gesichtsdaten, die immer auf deine Freigabe warten. 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.