Skip to main content

Configuration

The Room System's configuration is spread across a few different places, depending on what you want to change:

  • Capacities and limits are constants inside the RS_Config script and must be edited directly in that file.
  • Room teleport positions are Transforms on the RoomSystem GameObject.
  • Sound effects live on their own GameObjects (_intercom, _selfieCamera).
  • Notification alerts are configured with the RS_NotificationConfig script on the RoomsManagement GameObject — this is an optional integration, see Customizing Notification Alerts below.

Each of these is covered in its own section below.


Constants (RS_Config)​

These are global constants that define the capacities and limits for your rooms, UI queues, and the world itself. They are not exposed in the Inspector — open the RS_Config script and change the values directly in the file.

If you need to adjust the maximum number of players allowed in a room, or increase the world capacity limit to match your VRChat instance settings, you will modify these values here.

  • WORLD_MAX_CAPACITY (Default: 12): Defines the maximum number of players your VRChat world can hold.

    Important: You must ensure this number matches your world's maximum instance capacity (including extra capacity) to prevent synchronization errors across clients.

  • ROOM_MAX_CAPACITY (Default: 8): The maximum number of players that can be tracked, invited, or granted access to a single room at any given time.

  • ROOM_MAX_NOTIFICATIONS (Default: 6): The maximum number of intercom rings that a room's queue can hold before it stops accepting new ones.

  • ROOM_SETTINGS (Default: 2): The number of custom toggleable settings tracked by the room system's state. Increase this if you plan to add more custom toggles (like adjusting lights, mirrors, or media players) to the room's UI.


Room Positioning​

To ensure players are teleported and managed correctly when entering or exiting from a room, you must configure the teleport targets on the room's parent GameObject.

Select the main RoomSystem GameObject in your hierarchy and adjust these two Transforms in the Inspector:

  • insideRoomPositiom: Move this Transform to the exact location inside the room where you want players to appear.
  • outsideRoomPositiom: Move this Transform to a location outside the room (such as a hallway or lobby). This is where unauthorized players will be teleported if they are kicked or fail an access check.

Sound Effects​

If you want to swap out the default audio clips to better match the atmosphere of your world, you can change the sound effects directly on their respective GameObjects:

  • Intercom Sounds: Locate and select the _intercom GameObject in your room's hierarchy to change the ringing or notification audio.
  • Camera Sounds: Locate and select the _selfieCamera GameObject to adjust the sound effects triggered by the room's security camera.

Customizing Notification Alerts​

Optional

The Notification System integration is entirely optional. If you don't have the Notification System asset in your world, or leave its reference slot empty on Rooms Management, these notifications are simply skipped — the Room System works exactly the same either way, with no errors. It's wired the same way the Security System links to the Notification System: a plain reference on the Rooms Management object, with no compile-time dependency between the two assets, so the Room System doesn't need the Notification System's code present in your project at all if you don't use the integration.

If you do have it linked in, the Room System can show a small on-screen notification to a player for two events: someone denied their intercom ring request (naming who denied them), and an incoming intercom ring for a room they're currently in.

You can fully customize the look and text of these alerts directly on the RoomsManagement GameObject. Look for the RS_NotificationConfig script in the Inspector to modify the following settings:

Deny User Notification​

This alert is sent to a player when the room owner explicitly denies their intercom request.

  • Deny User Text: The main header text for the alert (default is NOT ACCEPTED).
  • Deny User Text Color: The color of the main header text.
  • Deny User Sub Text Color: The color of the secondary text (which typically displays the room owner's name).
  • Deny User Sprite: The icon displayed next to the message.
  • Deny User Sprite Color: The color tint applied to the icon.

Intercom Ring Notification​

This alert is sent to the room owner(s) when someone rings their room from the outside.

  • Intercom Ring Text: The main header text for the alert (default is INTERCOM RING).
  • Intercom Ring Text Color: The color of the main header text.
  • Intercom Ring Sub Text Color: The color of the secondary text (which typically displays the caller's name).
  • Intercom Ring Sprite: The icon displayed next to the message.
  • Intercom Ring Sprite Color: The color tint applied to the icon.

⚠️ Important Audio Note:
We recommend disabling the Sound Effects option on your Notification System prefab. If left enabled, the default notification alert sound will play simultaneously with the Room System's custom intercom ring audio, causing overlapping sounds.

Need sound effects for other systems? If your world uses the notification system for other assets and requires audio alerts, simply place a second Notification System prefab in your hierarchy and assign it exclusively to the Room System with sound effects disabled.