Triggers are the current main method world creators can get interactivity into their worlds! Although more advanced forms of interactivity are on their way, triggers can do quite a lot right now.

❗️

VRChat SDK2 is Deprecated!

Please do not start new projects using SDK2. SDK2 is deprecated and will no longer receive updates.

Triggers and Actions have been replaced by VRChat Udon, a powerful, easy to use scripting system that enables creation of both simple behaviors and complex interactions in VRChat worlds.

Read more here: Choosing your SDK

Concepts

Master Client

One Master Client is assigned per instance. Typically, it is the first user to join the instance.

The Master Client manages the events and syncing of objects in the instance. Notably, they also manage the time-syncing of VRC_SyncVideoStream and VRC_SyncVideoPlayer components.

When the current Master Client leaves, a new one is assigned. The new Master Client is chosen based on the order users join the instance.

If a Master Client stops responding properly, it may cause major problems in the instance. This may result in failed joins, misbehaving syncing, or other issues. If the Master recovers, the instance will recover as well. However, if a Master is "stuck" in a bad state, it may become necessary to abandon the current instance and start a new one.

A trigger causes an event to be executed. For example, OnInteract triggers when a user interacts with the object the Trigger is present on.

Actions are things you set to happen when a trigger is triggered. Multiple actions can be assigned to one trigger.

When a trigger is triggered, this controls who it should run for.

Take Ownership of Action Objects

When this option is enabled, it allows the Trigger to automatically take ownership of objects if the action requires it.