FOS Tablet System — Pro
Esta página aún no está disponible en tu idioma.
Version 1.0.0 · requires FOS Essentials Core 1.1.0 or later · also requires FOS Tablet System — Standard 2.1.0
Turns the four fixed roles of the Standard edition into as many as your world needs, each with its own permissions.
Requires FOS Tablet System Standard 2.1.0 and FOS Essentials Core 1.1.0.
Upgrading? Read CHANGELOG.md first.
How it installs
Section titled “How it installs”Pro adds components beside the Standard ones. It never replaces a component on your prefab, so upgrading costs you none of the wiring you already did.
Drop the Pro package in next to Standard, and everything you had keeps working exactly as before until you open the role matrix and change something.
The example
Section titled “The example”FOS Essentials > FOS Tablet System Pro > Create Example
Builds a working example in your open scene: five roles, two role gates with the objects
they filter, and an arrival point per role. One Ctrl+Z removes all of it.
It needs the Standard tablet in the scene first — it wires itself to your staff manager.
Why a generator and not a prefab
Section titled “Why a generator and not a prefab”Every Pro component points at the staff manager, which lives in the tablet instance in your scene. A prefab cannot hold a reference to a scene object: Unity clears it when the prefab is saved.
An example shipped as a prefab would therefore arrive with every field empty, and the first thing you would do with this pack is debug a broken example. A generator produces one wired to your tablet instead, and stays useful afterwards for starting over.
That is also why Prefabs/ is empty here: there is nothing in this edition that a prefab
could carry.
What to look at first
Section titled “What to look at first”The Greeter role. It teleports to newcomers and reads the log, but cannot punish anyone. A ladder of ranks has no way to express that role — it is the whole reason the matrix exists.
The role matrix
Section titled “The role matrix”FOS Essentials > FOS Tablet System Pro > Role Matrix
One row per role, one column per permission. Select the GameObject carrying your Staff Manager, or drop it in the field at the top.
| Column | Meaning |
|---|---|
| # | The role’s level. Higher outranks lower. |
| Name | What players read, when no translation key is set. |
| Translation key | Read from FOS Localization, so role names follow the player’s language. |
| Grants up to | The highest role this one may hand out. |
| Frz Iso Mut TP | Freeze, isolate, mute, teleport to a player. |
| Rol | May change roles at all. |
| Eq | May act on someone of the same rank. |
| Com Pan Log | Community settings, open the staff panel, view the log. |
Permissions are not a ladder
Section titled “Permissions are not a ladder”That is the whole point of the matrix. A rank answers who outranks whom; it cannot say this one mutes but never isolates, which is the first thing a team of more than two people asks for.
You can now build a greeter who only teleports, a chat moderator who mutes and nothing else, or a recruiter who hands out roles without being able to moderate anyone.
Ranks still matter
Section titled “Ranks still matter”Levels are not decoration: Grants up to, act on an equal rank and the founder protection all compare levels. Order your roles from least to most trusted.
Starting points
Section titled “Starting points”Reset puts back the four original roles with the permissions the Standard edition applies. It is the sane starting point, and the way back if you get lost.
Back to rank-based empties the matrix entirely. Permissions are then derived from rank again, exactly as Standard does it — Pro’s other features keep working.
What the window refuses to let pass
Section titled “What the window refuses to let pass”Some settings are ticked in good faith and only show their consequence in a live instance, when it is too late.
A role that grants above itself. It can create someone more powerful than itself, and rank stops meaning anything. Flagged in red.
A role that grants its own rank. Its holders recruit peers without limit — normal for your top role, which is how an admin delegates, questionable for a middle one. Flagged as a warning, and only on roles that are not the highest.
Nobody can open the staff panel. No moderation is possible at all.
Nobody can edit the community settings. The rules and adult content switches stay locked for everyone, forever.
A role with no name. Players see a number.
Removing a role
Section titled “Removing a role”Only the last one can be removed.
A role is an index, and every player’s role, every visibility rule and every “grants up to” refers to it by number. Removing one from the middle would renumber all the ones above it and silently shift everything that pointed at them.
To retire a role in the middle, empty its permissions and stop assigning it.
Account roles
Section titled “Account roles”FOS Essentials > FOS Tablet System Pro > Account Roles
A list of display names and the role each one holds. Someone on that list arrives with their role already applied, in every instance, without anyone having to name them.
It is a floor, never a ceiling
Section titled “It is a floor, never a ceiling”The role an account carries is the lowest it can hold:
- They arrive with it, every time, and get it back after a crash or a rejoin.
- They can be promoted above it for the duration of an instance.
- They can be brought back down to it — that is how a temporary promotion is revoked.
- They can never be pushed below it, by anyone, including an admin.
That single rule covers permanent staff and one-evening helpers without a special case for either.
Two limits you have to know before using it
Section titled “Two limits you have to know before using it”The list is baked into your world. Adding or removing someone takes effect only after you upload again. There is no way around this: a role granted from inside the game would have to be stored somewhere trustworthy, and VRChat offers a world no such place. Player persistence is written by the player’s own client — perfect for a language preference, catastrophic for a permission.
A rename loses the entry. Udon exposes no account identifier, only the display name. A player who renames their VRChat account falls back to the arrival role until you update the list.
The window states both, so nobody discovers them in production.
Export writes name, role index and role name. The role name is redundant on purpose: without it, a file reopened six months later is a column of numbers.
Import replaces the whole list. It does not merge, unlike the translation table, and the window asks before doing it. An access list is read as a whole — merging would silently keep someone you had removed from the file, which is exactly the mistake you cannot afford on permissions.
A role can be written as its index or as its name; both are accepted on import.
Special roles
Section titled “Special roles”| Setting | What it does |
|---|---|
| Founder role | What the first player of the instance, and the instance creator, receive. |
| Role on arrival | What everyone else gets. Visitor by default; a private world may want VIP. |
The founder still cannot be demoted, whatever role you give them.
Per-role visibility
Section titled “Per-role visibility”Add Component > FOS Essentials > Tablet System Pro > Role Gate
Put it on the object you want to filter, tick the roles that may see it, done. The inspector lists the roles by name, not as a bit mask, and tells you in one sentence what the setting produces.
Shown to the ticked roles, or hidden from them — one checkbox flips the meaning.
It never touches its own object
Section titled “It never touches its own object”This is the one thing to understand about where to put it.
A behaviour on a disabled GameObject stops running. If the gate switched off its own object, it would never receive the role change meant to switch it back on: the object would stay dark until the world restarts, with no error and nothing to explain it.
So the gate switches its direct children by default. Put it on an empty parent and drop what you want filtered underneath. You can also fill the targets list to drive objects anywhere else in the scene.
Two settings that do nothing
Section titled “Two settings that do nothing”The inspector flags them, because neither looks wrong in a column of checkboxes:
- Nothing ticked, in shown to mode — the objects are hidden from everyone.
- Everything ticked, in shown to mode — visible to everyone, so the gate is inert.
This arranges an interface, it does not protect anything. Hiding an object does not stop a determined player from reaching it another way.
Arrival points per role
Section titled “Arrival points per role”Add Component > FOS Essentials > Tablet System Pro > Role Spawn
One arrival point per role: staff backstage, visitors at the entrance. The inspector draws one line per role, named, and follows the role matrix — add a role and its line appears here.
An empty slot means that role is not moved at all, which is a legitimate choice, not an oversight.
It waits for the real role
Section titled “It waits for the real role”VRChat spawns a player before the synchronised list reaches them: on arrival, their own role is still unknown. The component waits until it is known rather than sending everyone to the arrival point and correcting itself a moment later — which would show up as a visible round trip every time a staff member connects.
| Setting | Default | Why |
|---|---|---|
| Spawn on arrival | on | The point of the component. |
| Spawn on role change | off | Being promoted should not yank someone across the map mid-conversation. |
| Keep velocity | off | Arriving at full speed makes players slide or fall. |
FOSRespawn() sends the local player back to their current role’s point, for a
“return to spawn” button of your own.
Under the hood
Section titled “Under the hood”The matrix is not synchronised. It is baked into your prefab, identical on every client, so it costs nothing on the network and no client can forge it. What travels stays one integer of role per player — going from four roles to twenty costs nothing more.
The permissions are read by the Standard edition’s authority, at the same single decision point as before. Pro provides the data and the editor; it does not duplicate the security model, which is the last thing that should ever exist in two copies.
- Roles are edited through the window only. The arrays are bit masks: unreadable by hand, and a one-bit mistake gives a role that isolates instead of freezing with nothing to show for it.
- Translation keys are optional. Without them, the names in the matrix are used as-is.
- Quest and PC behave identically: there is no platform-specific code.
