Event Nodes
This is a list of Udon Nodes that are considered "Events".
Your scripts can use events to detect actions and set off chains of action or logic. Input Events have their own special page. To jump to an Event in the graph, click it in the Graph Sidebar.
All below nodes have flow nodes where logic requires it.
More events specifically related to networking are listed on the Network Components page.
Interact
Fired when the local player interacts with this GameObject.
- Players can only interact with GameObjects that have a Collider component and an UdonBehaviour component.
- If you want players to interact with a 2D UI, use VRC Ui Shape and a Button component instead.
OnDrop
Fired when a VRChat player drops this object after being held.
OnPickup
Fired when this object is picked up by a VRChat player.
OnPickupUseDown
Fired when this object is held and the Use button is pressed. Fires on button down. Requires 'Auto Hold' on Desktop.
OnPickupUseUp
Fired when this object is held and the Use button is pressed. Fires on button up. Requires 'Auto Hold' on Desktop.
OnPlayerJoined
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired when a VRChat player joins the instance. Outputs the player
that joined.
When you join an instance, you execute OnPlayerJoined for every player in the instance, including yourself. When another player joins your instance, you only execute OnPlayerJoined for the player who joined.
OnPlayerLeft
Event_OnPlayerLeft
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired when a VRChat player leaves the instance. Outputs the player
that left.
OnPlayerRestored
Event_OnPlayerRestored
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Triggered after all of VRChat player's persistent data has been loaded, including all of their PlayerData and PlayerObjects. Outputs the player
whose data was loaded.
When you join an instance, you execute OnPlayerRestored for every player in the instance, including yourself. When another player joins your instance, you only execute OnPlayerRestored for the player who joined.
OnStationEntered
Event_OnStationEntered
Fired when a VRChat player enters the station on this object.
OnStationExited
Event_OnStationExited
Fired when a VRChat player exits the station on this object.
OnVideoEnd
Event_OnVideoEnd
Fired when the video player on this object is finished playing, either via the end of the video or via player interaction.
OnVideoError
Event_OnVideoError
Outputs: videoError
- VRC.SDK3.Components.Video.VideoError
Fired when the video player encounters an error loading the video.
OnVideoLoop
Event_OnVideoLoop
If looping is enabled, fired when the video player finishes a loop.
OnVideoPause
Event_OnVideoPause
Fired when the video player on this object is paused.
OnVideoPlay
Event_OnVideoPlay
Fired when the video player on this object starts playback, either via the start of a new video in a queue, unpausing, or via player interaction.
OnVideoStart
Event_OnVideoStart
Fired when the video player on this object starts playback from a stopped state.
OnVideoReady
Event_OnVideoReady
Fired when the video player loads a new video.
Player Events
OnPlayerTriggerEnter
Event_OnPlayerTriggerEnter
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired when a player's capsule enters a trigger collider.
OnPlayerTriggerStay
Event_OnPlayerTriggerStay
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired on frames while a player's capsule is inside a Trigger Collider
OnPlayerTriggerExit
Event_OnPlayerTriggerExit
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired when a player's capsule exits a Trigger Collider.
OnPlayerCollisionEnter
Event_OnPlayerCollisionEnter
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired when a player's capsule enters a Collider.
OnPlayerCollisionStay
Event_OnPlayerCollisionStay
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired on frames while a player's capsule is inside a Collider.
OnPlayerCollisionExit
Event_OnPlayerCollisionExit
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired when a player's capsule exits a Collider.
OnPlayerParticleCollision
Event_OnPlayerParticleCollision
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired when a particle collides with a player's capsule, assuming that Particle System has Collision and Send Collision Messages turned on.
OnPlayerRespawn
Event_OnPlayerRespawn
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired when the local player respawns by clicking "Respawn" in their menu.
OnScreenUpdate
Event_OnScreenUpdate
Outputs: data
- VRC.SDK3.Platform.ScreenUpdateData
Triggered when a player first enters the world on a Mobile Device, and whenever the orientation of their device changes. Outputs a ScreenUpdateData
struct with the following values:
type
-ScreenUpdateType
- onlyOrientationChanged
for now, can be expanded in the future.orientation
-VRCOrientation
- the orientation of the player's device, as aVRC.SDKBase.Platform.VRCOrientation
enum, which isLandscape
orPortrait
.resolution
-Vector2
- the resolution of the player's device, as aVector2
struct.
OnInputMethodChanged
Event_OnInputMethodChanged
Outputs: inputMethod
- VRC.SDKBase.VRCInputMethod
Fired when a player uses a different input method - Keyboard, Mouse, Controller, etc.
OnLanguageChanged
Event_OnLanguageChanged
Outputs: language
- string
Fired when a player updates their display language.
OnPlayerSuspendChanged
Event_OnPlayerSuspendChanged
Outputs: player
- VRC.SDKBase.VRCPlayerApi
Fired when a player's device becomes suspended. A device is suspended if it enters sleep mode or switches to a different app. For the player that is being suspended, this event will fire on wakeup. Check VRCPlayerApi.isSuspended
to know if this is a wakeup or suspend event.
While suspended, devices don't run Udon code or respond to network events until the player reopens VRChat.
When you create multiplayer interactions in VRChat, you should react to suspended players to ensure that your Udon code continues running as intended. For example, you may want to transfer the ownership of important objects to a player who is not suspended.
Your code should account for any device becoming suspended at any time, regardless of platform. PC players currently never become suspended, but this should not be assumed.
Advanced Notes
All nodes in this list have the type System.Void
.