Quest Content Limitations

This page will describe various limits in place for the Oculus Quest version of VRChat. These limitations are in place in the interest of performance, user safety, and discouraging malicious behavior.

Find more information about limited components on our Quest Content Optimization page.

Avatar-Specific Limitations

Although the current version of VRChat does not implement a hard limit, we may implement a hard limit for avatars based on triangle count, material counts, mesh counts, and other qualities in the future. Please keep our recommendations in mind as described in Quest Content Optimization.

Currently, if you upload an avatar or avatar world that features avatars exceeding our recommendations, that world or avatar may be removed from public access.

Shaders

VRChat on Quest only permits the shaders provided with the latest SDK on avatars. The shaders are listed below with a short description and their inputs. This list may change, and we'll announce in our patch notes when new shaders are available.

All of the shaders listed below are under VRChat/Mobile in the shader selection dialog.

For performance reasons, make sure you always enable "Enable GPU Instancing" on your materials.

Shader NameShader Description
Standard LiteA "Lite" version of Unity Standard. Supports diffuse, normal maps, metallic+smoothness maps, and optional emission maps. Channel mappings for relevant maps are identical to Unity Standard Metallic setup. The diffuse texture is tinted by the vertex colours

Requires a diffuse (RGB) base texture.
Bumped DiffuseDiffuse but with a normal map. The diffuse texture is tinted by the vertex colours.

Requires a diffuse (RGB) base and a normal map. If you don't have a normal map, just use Diffuse.
Bumped Mapped SpecularDiffuse, but with a specular map (shininess) on the alpha channel. The diffuse texture is tinted by the vertex colours. Normal map also supported.

Requires a diffuse (RGB) base with specular (A) and a normal map.
DiffuseJust diffuse! The diffuse texture is tinted by the vertex colours.

Requires a diffuse (RGB) base texture.
Matcap LitDiffuse, but with a matcap input. Can be used to simulate a shiny metal surface. The diffuse texture is tinted by the vertex colours.

Requires a diffuse (RGB) base texture and a matcap (RGB) texture. If you don't have a matcap texture, just use Diffuse.
Toon LitProvides toon-like shading and shadows. Should be used on cartoon-like characters with flat colors. The diffuse texture is tinted by the vertex colours.

Requires a diffuse (RGB) texture.
Particles/AdditiveShould be used on particles. Blends using Additive mode.

Only usable on avatar particle systems and worlds.
Particles/MultiplyShould be used on particles. Blends using Multiply mode.

Only usable on avatar particle systems and worlds.
Lightmapped (Only available for worlds) A basic diffuse shader that supports lightmapping. This shader is only meant for use on worlds. It cannot be used on avatars. It does not support real-time lighting.

Requires a diffuse (RGB) base texture.

Without a lightmap, it will be unlit. Do not use this shader unless you plan on baking lighting (which you should be).
Skybox (Only available for worlds)This shader is an optimized skybox shader, meant for use in worlds.

Requires a cubemap.

Components

The following components are not supported on Quest and will not work. This list may change. We'll note in the Patch Notes and updated documentation when these change.

Component NameStatus
Dynamic BonesCompletely disabled in VRChat Quest. Use PhysBones instead!!
ClothCompletely disabled in VRChat Quest.
ConstraintsCompletely disabled on avatars in VRChat Quest. There are no plans to enable them for Quest, as they have complex performance issues that are not solved by a soft or hard limit.

Permitted for use in Worlds. Be careful with overuse, as they impact performance more than previously thought, especially with the limited resources of the Quest.
FinalIKCustom FinalIK components are completely disabled on avatars in VRChat Quest.

FinalIK components are an unbounded source of resource usage. We do not currently plan to enable them on Quest.
CamerasCompletely disabled on avatars in VRChat Quest.

Permitted for use in Worlds. Be careful with overuse.
LightsCompletely disabled on avatars in VRChat Quest.
Video PlayersSDK2 VRC_SyncVideoPlayer and VRC_SyncVideoStream are both completely disabled in worlds in VRChat Quest.

Placing either of these components in your Quest world will break compatibility between your Quest and PC world! Simply remove it from the Quest version.

Several community-created video players can handle Quest video playback, given some preconditions. Read more in Video Players.
Post-ProcessingPost processing systems are disabled completely in VRChat Quest. The GPU is not designed to handle these effects very well.
Audio SourcesAudio sources are disabled completely on avatars in VRChat Quest. Audio sources consume a significant amount of CPU resources and voices have priority.

Audio sources are restricted in worlds in VRChat Quest.
Physics ObjectsRigidbodies, colliders, and joints are disabled completely on avatars in VRChat Quest.

They are permitted in worlds, but you should be careful not to go overboard with them.
Particle SystemsParticles are limited heavily on avatars in VRChat Quest, with settings mirroring the Avatar Particle System Limits on PC.