Sub-Instance System for Isolated Small Group Gameplay
Godfall
Add a system that allows world creators to programmatically spawn separate, isolated instances specific scenes for small groups, then return players to a lobby instance when finished.
The Problem:
Currently, all players in a VRChat world exist in the same instance, meaning
- Performance degrades as player count increases
- Can't isolate small groups for competitive/co-op gameplay without forcing them to manually create new instances outside the world
- Can't split part of the worlds that are meant for different gameplay purposes (Lobby, In-Game, AFK Lobby) without uploading different worlds, hurting playercount.
Proposed Solution:
Allow world creators to programmatically create sub-instances - separate VRChat instances that players can be sent to and returned from via Udon.
Example Flow:
- Main Lobby Instance (80 players) - Social hub, party formation, leaderboards
- Players form a group and trigger "Start Game"
- New Sub-Instance Created - VRChat spawns a new instance with:
- Different Unity scene (e.g., the actual game map, not the lobby)
- Fixed players (For gameplay and balance purposes.)
- Only loads game-relevant scripts and objects
- Completely isolated from the lobby instance
- Players play the game in this clean, performant environment
- Return to Lobby - When finished, players are sent back to the original lobby instance (or any instance that is a lobby instance)
Why Separate Instances Matter:
- Performance - Players in the game don't have to sync with 80 people in the lobby
- Isolation - No interference from other players, guaranteed player count
- Scene Management - Lobby assets/scripts don't load in the game instance, game assets/scripts don't load in the lobby
- Scalability - Supports many concurrent groups running a complex game without bottlenecking the main lobby
- Lobby system brings in that important social bigger than oneself feeling.
Technical Requirements:
World creators would need Udon APIs to:
- Create a new instance of a specific scene with defined parameters (player cap, access control)
- Send specific players to that instance
- Return players to the original lobby instance when the game ends (or any lobby)
- Optionally: Pass data between instances (score, loadout, etc.)
Use Cases:
- Dungeon Crawlers - Party forms in lobby → enters isolated dungeon instance → returns with loot
- Lethal Company-style Co-op - 4 players drop into a procedural map for a scavenging run, return to lobby to sell/upgrade
- Competitive Minigames - Clean, performant 1v1/2v2/4v4 matches without lobby interference
Current Workaround (and Why It Sucks):
Right now, players have to:
- Leave the world entirely
- Manually create a new instance in a separate world via the worlds menu
- Invite their friends
- Play the game
- Leave and rejoin the lobby world
This breaks immersion, kills player retention, and makes discovery nearly impossible since it will split playercounts. Also persistence currently doesn't support sharing data in multiple worlds.
Log In
svenssko
This would allow for much greater scope of games that can actually exist on the platform.
Right now everything is crammed into a single lobby. Creating full games/levels/areas as separate IDs allows for no persistence and puts a ceiling on what's possible right out the gate. The resulting "games" we currently have are just tech demos that you play in an hour, or are at the uppermost limit of what a single scene with sync checks can handle even if they are extremely optimized.
As time goes on, if VRChat doesn't want to relegate their entire future to laggy microtransacted hangout spaces that bring the platform to eventual heat death, this is necessary.
Bump.
svenssko
I should mention that this is exactly what many online games with creator economies already do to handle content delivery, and to display accurate umbrella player counts that lead to more players engaging with content.
If you're gonna introduce a platform currency without the architecture for creators to give it value, both the creators and the players go elsewhere. That's it.
KuryKat
This is a really cool idea and I totally get what you're going for.... Basically a "Minecraft server-style" hub system where you've got a big social lobby and can spawn isolated game instances for small groups, right?
I'd love to see something like this, but I'm pretty skeptical it'll happen anytime soon.... The main issue is that... Udon runs inside instances, not above them, so it can't create new instances, can't move players between them programmatically, and has no way to communicate across instances.
What you're describing would need VRChat to build an entirely new layer that sits above individual instances and can orchestrate multiple Photon rooms for the same world. That's less of a feature request and more of a.... "rebuild how the platform works" level change.
Right now, as we know, game worlds usually end up keeping everyone in the same instance and just teleporting players around or toggling objects (like Murder 4, Prison Escape, etc.), but yeah... that doesn't scale well and you get the performance issues you mentioned when playing with bigger groups...
Really hope VRChat explores better solutions for this eventually... the "friendslop server" hub model would be amazing for game worlds. Your breakdown of the problems is great!
Godfall
Also failed to mention another great use case : AFK Systems - Sending idle players to dedicated AFK instances, keeping active lobbies populated with engaged players only, resulting in a world that is more alive and social.
Godfall
Basically this post : https://feedback.vrchat.com/feature-requests/p/sub-worlds . But written in a more understandable manner detailing what needs to be possible.