The VRChat Documentation Hub

Welcome to the VRChat Documentation hub. You'll find comprehensive guides and documentation to help you start working with VRChat as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Player Collisions

Udon has three ways to detect when a Player and an Object Collide - Triggers, Physics, and Particles.

Triggers

If you want to detect when a player has entered or exited an area, your best bet will be to use the OnPlayerTrigger events. There are three of these:

  • OnPlayerTriggerEnter is called when a player's capsule enters a Trigger Collider
  • OnPlayerTriggerStay is called on frames while a player's capsule is inside a Trigger Collider
  • OnPlayerTriggerExit is called when a player's capsule exits a Trigger Collider.

A simple Box Collider with 'Is Trigger' checked.

To use these events, add an object with a collider and check the 'Trigger' box on the collider. A Trigger Collider lets objects and players pass through it and calls events when those objects have colliders. You can learn more about Collision in the Unity Manual.

📘

Edge Cases

There are some edge cases where one of these events could be skipped, like when a player teleports out of a collider, or is moving VERY fast. We'll add in handling in the future to catch these.

Physics

There is another set of events you can use when you've got objects like bouncing balls or bullets that you're moving around with physics. These objects have Colliders with IsTrigger turned off so that they'll interact with the environment an each other.

To detect events on these Colliders, you can use:

  • OnPlayerCollisionEnter is called when a player's capsule enters a Collider.
  • OnPlayerCollisionStay is called on frames while a player's capsule is inside a Collider.
  • OnPlayerCollisionExit is called when a player's capsule exits a Collider.

🚧

OnPlayerCollision Events are for Moving Objects

These events WILL NOT be called when a player 'walks into' a stationary object. If you want to handle that, use a Trigger Collider.

Particles

Finally, you can use OnPlayerParticleCollision to detect when a Particle colliders with a player, assuming that Particle System has Collision and Send Collision Messages turned on.

This Particle System has the Collision module turned on, is set to 'World' and '3D' modes, with 'Send Collision Messages' turned on.

Examples

Check out the Udon Example Scene to see how these events can be used.

Updated 2 months ago


Player Collisions


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.