Zum Inhalt springen

FOS Tablet System — Pro

Version 1.1.0 · benötigt FOS Essentials Core 1.1.0 oder neuer · benötigt außerdem FOS Tablet System — Standard 2.2.1

Macht aus den vier festen Rollen der Standard-Edition so viele, wie deine Welt braucht — jede mit eigenen Rechten.

Benötigt FOS Tablet System Standard 2.1.0 und FOS Essentials Core 1.1.0.

Du aktualisierst? Lies zuerst CHANGELOG.md.


Pro ergänzt Komponenten neben denen des Standard. Es ersetzt nie eine Komponente an deinem Prefab, ein Umstieg kostet dich also nichts von der bereits erledigten Verdrahtung.

Lege das Pro-Paket neben das Standard, und alles Bisherige läuft genau wie zuvor weiter — bis du die Rollenmatrix öffnest und etwas änderst.


FOS Essentials > FOS Tablet System Pro > Create Example

Baut ein funktionierendes Beispiel in deine geöffnete Szene: fünf Rollen, zwei Role Gates samt den Objekten, die sie filtern, und einen Ankunftspunkt je Rolle. Ein einziges Ctrl+Z entfernt alles wieder.

Es braucht zuerst das Standard-Tablet in der Szene — es verdrahtet sich an deinen Staff-Manager.

Jede Pro-Komponente zeigt auf den Staff-Manager, der in der Tablet-Instanz deiner Szene lebt. Ein Prefab kann keine Referenz auf ein Szenenobjekt behalten: Unity löscht sie beim Speichern des Prefabs.

Ein als Prefab geliefertes Beispiel käme also mit lauter leeren Feldern an, und das Erste, was du mit diesem Pack tätest, wäre ein kaputtes Beispiel zu debuggen. Ein Generator erzeugt eines, das an dein Tablet verdrahtet ist, und bleibt danach nützlich, um noch einmal von vorn anzufangen.

Deshalb ist Prefabs/ hier auch leer: Es gibt in dieser Edition nichts, was ein Prefab tragen könnte.

Die Rolle Greeter. Sie teleportiert sich zu Neuankömmlingen und liest das Protokoll, kann aber niemanden sanktionieren. Eine Rangleiter hat keine Möglichkeit, diese Rolle auszudrücken — genau dafür gibt es die Matrix.


FOS Essentials > FOS Tablet System Pro > Role Matrix

Eine Zeile je Rolle, eine Spalte je Recht. Wähle das GameObject mit deinem Staff Manager aus, oder ziehe es oben in das Feld.

Spalte Bedeutung
# Die Stufe der Rolle. Höher schlägt niedriger.
Name Was Spielende lesen, wenn kein Übersetzungsschlüssel gesetzt ist.
Translation key Aus FOS Localization gelesen, damit Rollennamen der Sprache folgen.
Grants up to Die höchste Rolle, die diese vergeben darf.
Frz Iso Mut TP Sperren, isolieren, stummschalten, zu einer Person teleportieren.
Rol Darf überhaupt Rollen ändern.
Eq Darf auf jemanden desselben Rangs wirken.
Com Pan Log Gemeinschaftseinstellungen, Staff-Panel öffnen, Protokoll einsehen.

Das ist der ganze Sinn der Matrix. Ein Rang beantwortet, wer über wem steht; er kann nicht sagen diese schaltet stumm, isoliert aber nie — und genau das verlangt ein Team ab der dritten Person.

Du kannst jetzt eine begrüßende Rolle bauen, die nur teleportiert, eine Chat-Moderation, die stummschaltet und sonst nichts, oder eine Rekrutierung, die Rollen vergibt, ohne irgendjemanden moderieren zu können.

Stufen sind keine Zierde: Grants up to, auf gleichen Rang wirken und der Gründerschutz vergleichen allesamt Stufen. Ordne deine Rollen vom geringsten zum größten Vertrauen.

Reset stellt die vier ursprünglichen Rollen mit den Rechten wieder her, die die Standard-Edition anwendet. Das ist der vernünftige Startpunkt und der Weg zurück, wenn du dich verrennst.

Back to rank-based leert die Matrix vollständig. Die Rechte leiten sich dann wieder aus dem Rang ab, genau wie im Standard — die übrigen Funktionen von Pro arbeiten weiter.


Manche Einstellungen setzt man in gutem Glauben, und ihre Folge zeigt sich erst in einer laufenden Instanz, wenn es zu spät ist.

Eine Rolle, die über sich selbst hinaus vergibt. Sie kann jemanden schaffen, der mächtiger ist als sie selbst, und der Rang bedeutet nichts mehr. Rot markiert.

Eine Rolle, die ihren eigenen Rang vergibt. Ihre Trägerinnen und Träger rekrutieren unbegrenzt Gleichrangige — normal für deine höchste Rolle, so delegiert ein Admin, fragwürdig für eine mittlere. Als Warnung markiert, und nur bei Rollen, die nicht die höchste sind.

Niemand kann das Staff-Panel öffnen. Dann ist überhaupt keine Moderation möglich.

Niemand kann die Gemeinschaftseinstellungen bearbeiten. Regeln und der Schalter für Erwachseneninhalte bleiben für alle gesperrt, dauerhaft.

Eine Rolle ohne Namen. Spielende sehen eine Zahl.


Jede Zeile trägt ein ×. Jede Rolle darf gehen, nicht nur die letzte.

Eine Rolle ist ein Index, und darin liegt die ganze Schwierigkeit: die Rolle jeder Person, jedes Gate, jedes grants up to verweist über eine Nummer darauf. Rolle 2 zu entfernen schiebt 3 auf 2, 4 auf 3, und alles, was oberhalb der Lücke zeigt, benennt plötzlich seinen Nachbarn — das Staff-Gate öffnet sich für Begrüßende, der Admin-Ankunftspunkt empfängt die Moderation. Nichts schlüge fehl, nichts wäre zu sehen.

Deshalb nummeriert das Fenster beim Entfernen um:

In der Matrix umnummeriert In der Szene umnummeriert
Vergabe-Obergrenzen Masken der Role Gates
Gründerrolle, Ankunftsrolle Ankunftspunkte
Kontorollen

Die Bestätigung zählt auf, was sich gleich verschiebt — wie viele Konten die Rolle tragen und auf welche sie zurückfallen, wie viele Gates und Ankunftspunkte neu geschrieben werden — statt zu fragen, ob du sicher bist.

Eine Grenze, und der Dialog nennt sie: Nur die geöffneten Szenen werden umnummeriert. Ein Gate in einer anderen Szene oder in einem hier nie instanziierten Prefab ist für den Editor in diesem Moment unsichtbar und behält die alten Nummern. Ctrl+Z stellt alles wieder her.


FOS Essentials > FOS Tablet System Pro > Account Roles

Eine Liste von Anzeigenamen und der Rolle, die jeder davon trägt. Wer auf dieser Liste steht, kommt mit bereits angewandter Rolle an, in jeder Instanz, ohne dass jemand sie benennen müsste.

Die Rolle, die ein Konto trägt, ist die niedrigste, die es haben kann:

  • Man kommt jedes Mal damit an und bekommt sie nach einem Absturz oder erneutem Beitritt zurück.
  • Man kann für die Dauer einer Instanz darüber befördert werden.
  • Man kann bis auf sie zurückgestuft werden — so widerruft man eine zeitweilige Beförderung.
  • Man kann nie darunter gedrückt werden, von niemandem, auch nicht von einem Admin.

Diese eine Regel deckt festes Team und Aushilfen für einen Abend ab, ohne Sonderfall für das eine oder das andere.

Die Liste ist in deine Welt eingebacken. Jemanden hinzuzufügen oder zu entfernen wirkt erst nach einem erneuten Upload. Daran führt kein Weg vorbei: Eine im Spiel vergebene Rolle müsste an einem vertrauenswürdigen Ort liegen, und VRChat bietet einer Welt keinen solchen Ort. Die Spielerpersistenz schreibt der Client der Person selbst — perfekt für eine Sprachwahl, katastrophal für ein Recht.

Eine Umbenennung verliert den Eintrag. Udon legt keine Konto-Kennung offen, nur den Anzeigenamen. Wer sein VRChat-Konto umbenennt, fällt auf die Ankunftsrolle zurück, bis du die Liste aktualisierst.

Das Fenster nennt beides, damit es niemand erst im Betrieb entdeckt.

Export schreibt Name, Rollenindex und Rollennamen. Der Rollenname ist absichtlich redundant: Ohne ihn ist eine nach sechs Monaten wieder geöffnete Datei eine Spalte Zahlen.

Der Import ersetzt die gesamte Liste. Er führt nicht zusammen, anders als die Übersetzungstabelle, und das Fenster fragt vorher nach. Eine Zugriffsliste liest man als Ganzes — Zusammenführen behielte stillschweigend jemanden, den du aus der Datei entfernt hattest, und genau diesen Fehler kann man sich bei Rechten nicht leisten.

Eine Rolle darf als Index oder als Name geschrieben werden; beides wird beim Import akzeptiert.


Einstellung Was sie bewirkt
Founder role Was die erste Person der Instanz und deren Erstellerin oder Ersteller erhalten.
Role on arrival Was alle anderen bekommen. Standardmäßig Besucher; eine private Welt möchte vielleicht VIP.

Die gründende Person kann weiterhin nicht herabgestuft werden, welche Rolle du ihr auch gibst.


Add Component > FOS Essentials > Tablet System Pro > Role Gate

Setze es auf das Objekt, das du filtern willst, hake die Rollen an, die es sehen dürfen, fertig. Der Inspektor listet die Rollen mit Namen auf, nicht als Bitmaske, und sagt dir in einem Satz, was die Einstellung bewirkt.

Gezeigt den angehakten Rollen, oder verborgen vor ihnen — ein Kästchen dreht die Bedeutung um.

Das ist das Einzige, was man darüber verstehen muss, wohin es gehört.

Ein Verhalten auf einem deaktivierten GameObject läuft nicht mehr. Würde das Gate sein eigenes Objekt abschalten, erhielte es nie den Rollenwechsel, der es wieder einschalten soll: Das Objekt bliebe bis zum Neustart der Welt dunkel, ohne Fehler und ohne Erklärung.

Deshalb schaltet das Gate standardmäßig seine direkten Kinder. Setze es auf ein leeres Elternobjekt und parke darunter, was gefiltert werden soll. Du kannst außerdem die Liste targets füllen, um Objekte an beliebiger anderer Stelle der Szene zu steuern.

Der Inspektor markiert sie, denn keine von beiden sieht in einer Spalte von Kästchen falsch aus:

  • Nichts angehakt, im Modus gezeigt — die Objekte sind vor allen verborgen.
  • Alles angehakt, im Modus gezeigt — für alle sichtbar, das Gate ist also wirkungslos.

Das ordnet eine Oberfläche, es schützt nichts. Ein Objekt zu verbergen hindert eine entschlossene Person nicht daran, es anders zu erreichen.


Add Component > FOS Essentials > Tablet System Pro > Role Spawn

Ein Ankunftspunkt je Rolle: das Team hinter der Bühne, Besuchende am Eingang. Der Inspektor zeichnet eine Zeile je Rolle, benannt, und folgt der Rollenmatrix — füge eine Rolle hinzu, und ihre Zeile erscheint hier.

Ein leerer Platz bedeutet diese Rolle wird gar nicht versetzt, was eine legitime Wahl ist und kein Versehen.

VRChat lässt eine Person erscheinen, bevor die synchronisierte Liste sie erreicht: Bei der Ankunft ist die eigene Rolle noch unbekannt. Die Komponente wartet, bis sie bekannt ist, statt alle zum Ankunftspunkt zu schicken und sich einen Moment später zu korrigieren — was bei jeder Anmeldung eines Teammitglieds als sichtbares Hin und Her auffiele.

Einstellung Standard Warum
Spawn on arrival an Der Zweck der Komponente.
Spawn on role change aus Eine Beförderung sollte niemanden mitten im Gespräch quer über die Karte reißen.
Keep velocity aus Mit voller Geschwindigkeit anzukommen lässt Personen rutschen oder fallen.

FOSRespawn() schickt die lokale Person zum Punkt ihrer aktuellen Rolle zurück, für eine eigene Schaltfläche „zurück zum Spawn”.


Die Matrix wird nicht synchronisiert. Sie ist in dein Prefab eingebacken, auf jedem Client identisch, kostet also nichts im Netzwerk, und kein Client kann sie fälschen. Was unterwegs ist, bleibt eine Rollen-Ganzzahl je Person — von vier auf zwanzig Rollen zu gehen kostet nichts mehr.

Die Rechte liest die Autorität der Standard-Edition, an derselben einzigen Entscheidungsstelle wie zuvor. Pro liefert die Daten und den Editor; es dupliziert nicht das Sicherheitsmodell, das wirklich das Letzte ist, was in zwei Ausfertigungen existieren sollte.


  • Rollen werden ausschließlich über das Fenster bearbeitet. Die Arrays sind Bitmasken: von Hand unlesbar, und ein Fehler von einem Bit ergibt eine Rolle, die isoliert statt zu sperren, ohne dass man es sähe.
  • Übersetzungsschlüssel sind optional. Ohne sie werden die Namen der Matrix unverändert verwendet.
  • Quest und PC verhalten sich identisch: Es gibt keinen plattformspezifischen Code.