Instances

Instances are parallel "rooms" or "lobbies" of a world. Each instance can only hold a limited number of users, but there is no limit on how many instances can exist of a world. Instances are uniquely identified by the combined World ID and Instance ID.

Edit this page
Aries's avatarVinyarion's avatar

Last updated on

As of 2024-05-02, VRChat indicated in a Developer Update an eventual intent to replace the current system with a UUID-ish system similar to User IDs.

Instance Generator

Instance ID

The instance ID is the combined sum of all the arguments to the instance e.g. name, owner, and privacy setting. The arguments are formatted in the order: name, one of: (friends | hidden|private | (group, groupAccessType)), ageGate, canRequestInvite, region, nonce`.

Owner ID

Differentiate two concepts, "Instance Owner" and "Instance Master". The "Owner" of an instance is the creator of the instance, is permanent, and has permission to insta-kick users without having to go through the Voting system. The "Instance Master" is the Photon sync master and is responsible for object syncing. The Instance Master is whoever has stayed in the instance the longest.

The presence of one of the arguments friends, hidden, private, or group indicates that the instance has a canonical owner. The group argument indicates that an instance is a group instance.

In particular:

Instance TypeInstanceID fragment
Public(n/a)
Friends Plus~hidden(<userId>)
Friends~friends(<userId>)
Invite Plus~private(<userId>)~canRequestInvite
Invite~private(<userId>)
Group Public~group(<groupId>)~groupAccessType(public)
Group Plus~group(<groupId>)~groupAccessType(plus)
Group Members~group(<groupId>)~groupAccessType(members)

Age Gate

~ageGate indicates that only users who are 18+ verified can join the instance. Users do not necessarily need to actively display 18+ verification on their profiles.

Region

~region(<token>) indicates the geographical location of the Photon servers used for the instance. Default: us

RegionHosted inToken
USA, WestSan Joséus
USA, EastWashington D.C.use
EuropeAmsterdameu
JapanTokyojp

Nonce

~nonce(<value>) is the Cryptographic key used to lock non-public instances to prevent people from guessing the Instance ID. It is not included in the location of public instances, and is formatted as "nonce(key)" where key is the cryptographic key.

Special Values

The VRChat API has several sentinel values for location strings:

  • "" Pseudo-null value
  • "offline" Implies a user currently is not either running the VRChat client or connected to the Pipeline (e.g., browser tab open)
  • "traveling" Indicates a user's client is travelling between instances (e.g., downloading world, synchronizing world state)
    • Also can be "traveling:traveling
  • "private" Indicates a user's location is not visible to the currently logged-in user. (e.g., Ask Me/Do Not Disturb status, Invite/Invite+/Group instance)

On this page