Layers Description


Layers are used by Unity and VRChat in order to decide the collision properties of objects and to selectively render objects. The Layer can be assigned at the top right of the inspector. If nothing changes the Layer, then it will be on Default.

While VRChat overrides the first 22 layers, you are still able to create and use 10 additional layers. You can create a new layer by either clicking Layer at the top right of any object and then clicking Add Layer… or by going to Edit -> Project Settings -> Tags and Layers. Additionally, you can view the Collision Matrix for your layers by going to Edit -> Project Settings -> Physics, under Layer Collision Matrix. Note that you cannot alter the collisions of the first 22 layers but you can alter the collisions of any of your own added layers.

Layers and Properties


Layer Properties
0: Default Built-in Unity layer. All objects will be on this layer unless otherwise specified. This layer collides with everything that isn't UI, UiMenu, or PickupNoEnvironment
1: TransparentFX Built-in Unity layer. Shares same collisions as Default
2: Ignore Raycast Built-in Unity layer. Anything on this layer is ignored by the Protect Camera From Wall Clip script from Standard Assets
4: Water Built-in Unity layer. The VRCMirror prefab is set to this layer. Also commonly used in Post Processing v2
5: UI Built-in Unity layer. The menu cursor, desktop reticle, microphone icon, tool-tips, the debug menus, and the graphics for the VR picture/stream camera are on this layer. It does not collide with anything, nor can it be Interacted with or Picked-up.
8: Interactive Built-in Unity layer. Shares same collisions as Default
9: Player Layer representing all other players except you
10: PlayerLocal Layer representing your collision and how you see yourself. Note that you normally don't see your own head, so you will appear headless in Mirrors and Cameras. If you want to render the local player, cull this layer and use MirrorReflection instead
11: Environment Layer usage unknown, but may be intended as a means of separating "environmental" objects from the rest of the world for collisions and render culling. Shares sames collisions as Default
12: UiMenu Layer used for menus and nameplates. Does not collide with anything, nor can it be Interacted with or Picked-up.
13: Pickup Layer automatically assigned to Pickup objects. This layer does not collide with the Player, PlayerLocal, or Reserved layers but does collide with PickupNoEnvironment
14: PickupNoEnvironment Layer that doesn't collide with anything but Pickups. This is useful for simple pickups that reset their position when dropped, as they will fall through the world and respawn (only if the Object Behavior at Respawn is set to Respawn in the VRC_Scene Descriptor). The VR picture/stream camera collides on this layer
15: SteroLeft Layer representing the left eye of a VR headset, but does not seem to have a practical use. Shares the same collisions as Walkthrough
16: StereoRight Layer representing the right eye of a VR headset, but does not seem to have a practical use. Shares the same collisions as Walkthrough
17: Walkthrough Layer used for things that players can go through but other objects can't. Useful for Chairs, vehicles, or other objects that would be inconvenient to walk over but should still have a physical presence
18: MirrorReflection Layer used to see yourself in Mirrors and Cameras. If this layer is being rendered at the time as the PlayerLocal layer, it will cause your body to be rendered twice and look weird. Additionally, if you put an object on this layer it becomes invisible to your eyes and can only be seen in Mirrors and Cameras but still has physical collision. But despite this, anything on this layer cannot be Interacted with, Picked-up, does not collide with Pickups, and will not block the raycast reticles. As such, it's the ideal layer to use with OnEnter and OnExit Triggers
19: reserved2 Reserved layers are placeholders in case VRChat needs to use them in the future. While they can be used, it's not recommended because their properties may change in future versions. Currently, it does not collide with Pickups
20: reserved3 Reserved layers are placeholders in case VRChat needs to use them in the future. While they can be used, it's not recommended because their properties may change in future versions. Currently, it does not collide with Pickups
21: reserved4 Reserved layers are placeholders in case VRChat needs to use them in the future. While they can be used, it's not recommended because their properties may change in future versions. Currently, it does not collide with Pickups

References:


https://docs.unity3d.com/Manual/Layers.html