Player Management Panel & Theme
The management panel is the main interface security staff use to view and control every player's roles. It's built once at edit time by SS_SecuritySystemUI's custom Inspector, and its colors are driven by a separate, shared SS_ConfigUI script.
The Panel
- A live list of every player currently in the world, each shown as a card with their name, platform (VR or Desktop), and one toggle per role.
- A search box that filters the player list by name — leave it empty to show everyone.
- Updates automatically as players join, leave, or have their roles changed by anyone, without needing to reopen or refresh anything.
- Toggling a role for a player who doesn't currently have permission to grant/revoke (see Security Permission) simply snaps back to its previous state.
Adding & Removing Roles
The panel is fully modular — it doesn't need to be rebuilt by hand when your Roles list changes. Add a role on SS_RolesManagement and the panel automatically grows to match: a new role column appears, and every player card gets a new toggle for it. Remove a role and the panel shrinks back down the same way.
This rebuild only happens while the Inspector for the GameObject holding SS_SecuritySystemUI (_securitySystemUI in the prefab) is open and redrawing — it's edit-time tooling, not something that runs on its own in the background. After adding or removing a role, click on that GameObject in your Hierarchy once to make its Inspector redraw and the panel rebuild to match. If you don't, the panel keeps showing its old set of role columns until the next time that Inspector happens to redraw.
Theme Colors
SS_ConfigUI holds only five colors — it's a pure value holder, with no UI elements of its own:
| Color | Purpose |
|---|---|
| Primary Color | Main accent color. |
| Secondary Color | Secondary accent color. |
| Background Color | Base panel background. |
| Border Color | Panel and card borders. |
| Theme Color | A per-world accent color, meant to be the one you change to match your world's own look — the other four are treated as fixed structural colors. |
Every visible element that uses these colors is wired up on whichever component actually displays it, not on SS_ConfigUI itself — each of SS_SecuritySystemUI (the panel's own background, borders, and headers), SS_PlayerCard, and SS_RoleCard has its own five lists of themed elements, since each is a separate instance and can't share one list with the others.
Changing a color on SS_ConfigUI updates every linked panel and its already-built player/role cards immediately in the Unity Editor — no need to enter Play mode to see it. This usually happens automatically as you edit, but not every way of changing a color (notably dragging in the color picker window) reliably triggers it. SS_ConfigUI's Inspector has an Apply Colors button below the color fields for exactly this case — click it and every color is force-applied across every linked panel and its cards, so it's the reliable way to guarantee your colors actually show up.
Wiring a Panel's Theme
The shared SS_ConfigUI is set once, in the Config UI field on the main SS_SecuritySystem object (under its "Security Panels" header) — not on the panel itself. Adding a panel to the Security Panels list there (see Multiple Panels below) is all it takes for that panel to receive the shared theme automatically when the world loads — there's no separate theme reference to wire on the panel.
That shared reference does double duty on each panel it reaches:
SS_SecuritySystemUIuses it directly for its own themed elements (its Primary/Secondary/Background/Border/Theme Color Elements lists).- Its custom Inspector also threads it into every player card and role card it builds, on each instantiated copy — so you never wire
SS_ConfigUIonto a card by hand.
This is a one-time setup step for the whole world, not per panel — you set the Config UI field once, and every panel you add to the Security Panels list picks it up automatically, with no per-panel color reference to assign.
Multiple Panels
A world can have more than one Security System management panel — for example, one at a front desk and another backstage — and keep all of them fully in sync, both visually and live. Adding a panel to the Security Panels list on the main SS_SecuritySystem object is the entire setup it needs — everything else is pushed into it automatically from there.
Registering a Panel
- Build or place your panel — a GameObject with
SS_SecuritySystemUIon it (copy the included prefab's panel, or build your own). - Select the GameObject holding
SS_SecuritySystemin your Hierarchy. - In its Inspector, find the Security Panels list and increase its size by one.
- Drag the panel's GameObject (the one holding
SS_SecuritySystemUI) from your Hierarchy into that new slot.
That's it — no other field needs to be touched on the panel itself. Everything below is pushed into it automatically from there:
- Theme. The shared
SS_ConfigUI(see Wiring a Panel's Theme above). Editing a color on it afterward updates every panel in the list, and every card on every one of them — see Live Preview above. - Roles. The role columns and player-card toggles are built and themed automatically to match
SS_RolesManagement(see Adding & Removing Roles above) — this happens while the panel sits in the Security Panels list, not by anything wired on the panel itself. - Live player list & toggles.
SS_SecuritySystempushes the current player list to every panel in the list the moment anything changes, which is what lets a panel show it and have its toggles reflect the current role state, including its own clicks.
A panel left off the Security Panels list on SS_SecuritySystem gets nothing — no theme, no roles, no player list, no role toggles, not even a repaint after clicking its own toggles — since that list is the only thing SS_SecuritySystem ever pushes anything through. There's no separate step to forget for any of the three; adding a panel to this one list is the entire setup.