Unity Layers in VRChat

Unity layers help you organise objects, control collisions and raycasts, decide what renders to cameras, and separate systems like UI, mirrors, pickups, and environment colliders. In VRChat, layers are even more important because some are shared with VRChat itself and some are overridden during upload.

You can use most layers in a VRChat world, but you should not treat every layer as fully editable. When you create a project with VRChat's Worlds SDK, the built-in VRChat layers are configured for you automatically. If you rename reserved layers, remove them, or change important collision settings, VRChat can override those changes when you build and upload.

Layers 22 to 31 are the user-editable Unity layers. These are the safest layers to customise for your own systems.

Recommended Setup

Keep VRChat-reserved layers intact and put your own world systems on user-editable layers.

  1. Use layers 22 to 31 for most custom world systems.
  2. Avoid renaming or repurposing VRChat-reserved layers.
  3. Test collisions, raycasts, mirrors, pickups, and stickers after changing layer assignments.
VRChat note

VRChat may override reserved layer behavior during upload. Treat the layer table as a platform rule, not just a Unity organization preference.

Quick Layer Decisions

Goal Safer Starting Point Why
Custom world system User layers 22 to 30 VRChat does not override their names or collision matrix on upload.
Collider that should not receive stickers Layer 8 Interactive VRChat recommends this layer when stickers should not be placeable.
Walk-through trigger area Layer 17 Walkthrough, or a user layer with a deliberate collision matrix Player collision needs to be intentional and tested in-world.
Pickup object Let the pickup component use the normal pickup layer behavior VRChat has built-in pickup layer expectations.
Mirror-only renderer Layer 18 MirrorReflection This layer is designed for mirror rendering behavior.
UI canvas or laser interaction surface Test UI, UiMenu, or a user layer with Interact Passthrough rules Interaction rays and menu behavior differ by layer and platform.

If you are unsure, do not rename a reserved layer to make it sound useful. Create a clearly named user layer instead.

Help! Which layers are safest for my own objects?

Use user layers 22 to 31 for custom systems unless a specific VRChat workflow tells you otherwise.

Help! Can I rename reserved VRChat layers?

Avoid it. Reserved layers can be used by VRChat systems or reset during upload, so renaming them can make projects confusing and brittle.

Help! Stickers are appearing where I do not want them.

Move the relevant colliders to a layer that does not allow stickers, or disable stickers for the world if your design should not support them at all.

Unity's Built-in Layers

The table below lists Unity's built-in layers, how VRChat uses them, and whether users can place stickers on them.

Layer Name Description Can Have Stickers
0 Default Used for Unity GameObjects by default. Also used by VRChat Avatar Pedestals. Yes
1 TransparentFX Used for Unity flare assets. No
2 IgnoreRaycast Ignored by Unity physics raycasts if no layer mask is provided. Not ignored by VRChat physics raycasts. No
3 Item Used by VRChat items placed into your world by users. Any object you upload on this layer will be moved to Layer 0. No
4 Water Used by Unity standard assets. Also used by VRChat portals, mirrors, and often post-processing workflows. Yes
5 UI Use carefully Used by Unity UI by default. Ignored by VRChat's UI pointer unless the player's menu is open. Also ignored by the VRChat camera unless UI rendering is enabled there. No
6 reserved6 Avoid using Reserved by VRChat. Uploaded objects on this layer are moved to Layer 0. No
7 reserved7 Avoid using Reserved by VRChat. Uploaded objects on this layer are moved to Layer 0. No
8 Interactive Unused by Unity and VRChat. Recommended for colliders where you do not want users placing stickers. No
9 Player Used for VRChat players, except the local player. No
10 PlayerLocal Used by VRChat to render the local player. Humanoid avatars are rendered without their head bone. No
11 Environment Unused by Unity and VRChat. Yes
12 UiMenu Use carefully Ignored by VRChat's UI pointer unless the player's VRChat menu is open. No
13 Pickup Used by VRChat pickups by default when you add a pickup component. Does not collide with players. No
14 PickupNoEnvironment Colliders on this layer only collide with Pickup. No
15 StereoLeft Unused by Unity and VRChat. No
16 StereoRight Unused by Unity and VRChat. No
17 Walkthrough Colliders on this layer do not collide with players. Yes
18 MirrorReflection Used by VRChat to render the local player in mirrors. Renderers on this layer only appear in mirrors, are not rendered in the main camera, and colliders on this layer do not block VRChat raycasts. No
19 InternalUI Avoid using Used by VRChat for internal UI such as the menu, nameplates, and debug panels. No
20 HardwareObjects Avoid using Used by VRChat to render virtual representations of physical hardware such as controllers and trackers. No
21 reserved4 Avoid using Reserved by VRChat. Uploaded objects on this layer are moved to Layer 0. No
22-30 User Layers Unused by Unity and VRChat. VRChat does not override the names or collision matrix of these layers in uploaded worlds. Some
31 Editor Preview Avoid using Used by Unity editor preview window mechanics. Some

Stickers

Stickers allow VRChat+ users to place images on Collider components in your world.

Stickers cannot be placed on every layer. If you do not want users placing stickers on a collider, move that collider to a more appropriate layer. VRChat specifically recommends layer 8 (Interactive) when you want a layer that is unused by both Unity and VRChat and does not allow stickers.

If you do not want stickers anywhere in the world, disable them from your world settings on the VRChat website.

Layer Change Checklist

Before changing layers in an existing world, check:

  • Does this object need player collision?
  • Does this object need to block raycasts or interaction lasers?
  • Should stickers be allowed on this collider?
  • Should mirrors or cameras render this object differently?
  • Is this object part of a pickup, portal, mirror, UI, or player-facing system?
  • Will the change still work after upload, not just in the Unity editor?

Small layer changes can have surprisingly wide effects because physics, rendering, interaction, and stickers all read layer information in different ways.

Physics and Layers

When using physics operations in VRChat, it is best to limit which layers you test against. This reduces the chance of interacting with reserved or protected objects.

VRChat recommends pairing physics calls with Utilities.IsValid when appropriate, because some protected objects can come back as null, which can otherwise shut down an UdonBehaviour.

These physics methods are especially worth pairing with IsValid:

  • Physics.Raycast
  • Physics.RaycastAll
  • Physics.RaycastNonAlloc
  • Physics.SphereCast
  • Physics.SphereCastAll
  • Physics.SphereCastNonAlloc
  • Physics.OverlapSphere
  • Physics.OverlapBox
  • Physics.OverlapCapsule
  • Physics.OverlapSphereNonAlloc
  • Physics.OverlapBoxNonAlloc
  • Physics.OverlapCapsuleNonAlloc
  • Rigidbody.SweepTest
  • Rigidbody.SweepTestAll
  • Physics.CapsuleCast
  • Physics.CapsuleCastAll
  • Physics.CapsuleCastNonAlloc
  • Physics.BoxCast
  • Physics.BoxCastAll
  • Physics.BoxCastNonAlloc
  • Collider.Raycast
  • Physics.CheckSphere
  • Physics.CheckBox
  • Physics.CheckCapsule

Interaction Block and Passthrough on VRChat Layers

Interaction such as grabbing an item from a distance or toggling a UI element with a laser is blocked by most VRChat layers.

The following layers are transparent to interaction and allow interaction to pass through them:

  • UiMenu
  • UI
  • PlayerLocal
  • MirrorReflection

Interaction Passthrough for User Layers

Interaction through user layers is blocked by default. Use the Interact Passthrough mask if you want specific user layers to be transparent to interaction.

Keep in mind that collision test rays originate differently depending on platform:

  • Desktop and mobile players originate from inside the player capsule.
  • VR players originate from the tracked hand.

Because of that, VR players can sometimes push their hand through a collider. If the hand penetrates the collider, that same collider may no longer block interaction from the VR player.

Common Layer Mistakes

Help! My object changed layer after upload.

Check whether it was on a reserved VRChat layer. Objects uploaded on certain reserved layers can be moved back to Layer 0 during the upload process.

Help! My interaction laser passes through something.

Review the object's layer and the Interact Passthrough mask. Some layers are transparent to interaction by design, and VR hand rays can behave differently from desktop or mobile rays.

Help! A collider blocks players but not the system I expected.

Player collision, Unity physics raycasts, VRChat physics raycasts, stickers, and interaction lasers are related but not identical. Test the exact behavior you care about after changing layer or collision matrix settings.

Footnotes

  • * Layers 22 to 31 are enabled for stickers by default. You can disable them by adding them to the Interaction Passthrough list.

Official References

  • Official source: VRChat Unity Layers - reviewed 2026-05-26.
  • Local note: Layer behavior and interaction passthrough rules are VRChat-specific. Recheck the official page before adding current layer tables or platform-specific interaction claims.

Related Navigation