Installation
These instructions were last updated for Bouncer System 2.4.0.
Requirements
- Unity
2022.3.22f1 - VRChat Worlds SDK
3.10.5or newer - ValenCommons
2.10.0or newer
Install the required VRChat SDK and ValenCommons versions before importing Bouncer System. Security Keypad and VUdon Logger integrations are optional; their fields only appear when those integrations are available in the project.
Add Bouncer System to a scene
- Import the provided Bouncer System
.unitypackageinto your world project. - In Unity, locate
Packages/com.valenvrc.bouncer_system/Runtime/BouncerSystem.prefab. - Drag
BouncerSystem.prefabinto the scene. - Select the prefab instance and configure at least one automatic Security source.
- Assign the objects that should be enabled or disabled for each role.
Add your own case-sensitive VRChat display name to Security Names, then test the UI with a second player before configuring remote lists or optional integrations.
Name lists
Local lists use one VRChat display name per entry. Remote lists are plain-text files with one display name per line. Display-name matching is case-sensitive.
If a remote file is hosted on a domain VRChat does not trust by default, each user must allow untrusted URLs for that download to work.
Inspector settings
General
| Setting | Purpose |
|---|---|
DebugMode | Writes additional Bouncer System messages to the Unity or VRChat log. |
UdonConsole | Optional VUdon Logger console reference. |
RespawnOnUnverify | Respawns the local player after they lose Verified access. |
PersistentRoles | Restores eligible manual roles when a player rejoins the same live instance. Disabled by default. |
Security
| Setting | Purpose |
|---|---|
IOIsSecurity | Grants automatic Security to the instance owner or initial master recognized by the system. Use explicit lists or roles for staff who must always have access. |
SecurityNames | Local display-name list for automatic Security. |
SecurityNamesUrl | Remote newline-delimited display-name list for automatic Security. |
SecurityRole | Optional Security Keypad role for automatic Security. |
SecurityObjectsOn | Objects enabled for Security users. |
SecurityObjectsOff | Objects disabled for Security users. |
Scanners | Scanner objects that become usable for Security users. |
VIP
| Setting | Purpose |
|---|---|
AutoVIPNames | Local display-name list for automatic VIP access. |
AutoVIPNamesUrl | Remote newline-delimited display-name list for automatic VIP access. |
VIPRole | Optional Security Keypad role for automatic VIP access. |
VIPObjectsOn | Objects enabled for VIP and Security users. |
VIPObjectsOff | Objects disabled for VIP and Security users. |
Verified
| Setting | Purpose |
|---|---|
AutoVerifiedNames | Local display-name list for automatic Verified access. |
AutoVerifiedNamesUrl | Remote newline-delimited display-name list for automatic Verified access. |
VerifiedRole | Optional Security Keypad role for automatic Verified access. |
VerifiedObjectsOn | Objects enabled for Verified, VIP, and Security users. |
VerifiedObjectsOff | Objects disabled for Verified, VIP, and Security users. |
Internal references
| Setting | Purpose |
|---|---|
BUD | PlayerObject template that stores each player's synchronized role. |
LoadingScreen | Object displayed while configured remote name lists are loading. |
The prefab includes its required internal references. Change BUD or LoadingScreen only when intentionally replacing the supplied UI or PlayerObject setup.
Continue with Usage to learn how roles, scanners, and persistence behave.