Quest-compatibility Guide

Vket2022 Summer has "Quest Worlds." This guide will cover how to make Quest-compatible space so that visitors can enjoy your exhibit from Oculus Quest standalone environment. Please refer to VRChat Guides for further information.

A common misconception about Quest compatible VRChat world is:

"The shader must be ToonLit, right?"

This is completely untrue. Shader restrictions are applicable only to avatars.

Still, there do exist shaders not well-fit to Quest. In Vket2022 Summer Quest worlds the below shaders are permitted. You may notice a considerable increase from Vket5.

  • Among the shaders in "VRCSDK3-WORLD"
    • VRChat/Mobile/○○○○
    • VRChat/Panosphere
  • Among the shaders in "TextMeshPro"
    • TextMeshPro/Mobile/Distance Field
  • Among the shaders in "MnMrShader3_1_2"
    • MMS3/○○○○
  • Among the shaders in "Unity-Chan Toon Shader 2.0.9"
    • UnityChanToonShader/Mobile/○○○○
  • All shaders in "Unlit_WF_ShaderSuite_20220529"
  • Among the shaders in "UniVRM-0.99.0_f9ee"
    • UniGLTF/○○○○
    • VRM/○○○○
  • Among the shaders in "noribenQuestWater shader"
    • Noriben/DepthWater
    • Noriben/noribenQuestWaterCubemap

In addition, all Unity built-in shaders except for Particles/Standard Unlit are allowed.

Build Size

While it is one of the most strict restrictions due to the specifications of the VRChat, most spaces for concept worlds can be made within this restriction.

What is Build Size in the first place?

In short, it is the file size of the world itself. In Quest the total build size of the world is limited to 50MB, leaving only 3MB for each space.

You can check the build size by following the below steps.

  1. Build the world with Build & Publish button of VRCSDK
  2. Open Unity editor log (Open Console window and select "Open Editor Log" from the menu)

questguide

  1. Search for the latest customscene.vrcw

The "Compressed Size" shown here is the build size. Textures should account for much of this value in most cases.

Hence, you should do the following on the Inspector of textures.

Reduce Max Size

Reduce texture resolution. While it is set 2048 on the screenshot below, 1024 will suffice in many cases.

Changing by one step reduces the pixel count into one fourth, as it is halved twice, achieving much reduction in file size.

Compression

Choose Low Quality, Normal Quality, or High Quality, and the engine will pick a format suitable to each format and compress the texture image.

In most cases, Low Quality will look sufficiently good.

Enable Use Crunch Compression

This is almost mandatory for reducing the build size.

Enable the Use Crunch Compression to crunch-compress the image. The higher the Compressor Quality value, located immediately below, the higher the quality and size will be.

In some cases, lowering Max Size and keeping the Compressor Quality yield better results than lowering Compressor Quality.

Trying different settings is the fastest way to find the optimal setting.

questguide

If you have sound files, they may take up much volume, but compression is much harder as the sound quality is synonymous with file size in the case of sounds.

Mesh

You can reduce the file size of meshes with certain settings.

Uncheck Import BlendShapes

If you don't use BlendShapes in your space, removing this setting may reduce the file size by a wide margin.

This is effective when you exhibit avatars without animating expressions.

Use Mesh Compression

This setting will compress the mesh.

This may affect the look of the model. You should treat it carefully.

questguide

Shader

If you are not exhibiting avatars, you simply switch to permitted shaders.

Avatar Pedestals

If you exhibit an avatar pedestal in your space, you will need to set the shader of your model to shaders permitted for Quest, in most cases ToonLit, and remove DynamicBones. There is also limits imposed on Physbone for Quest.

For now, there are no poly count limits. Still, if the avatar exceeds 20,000 poly count, Quest users won't be able to see the avatar without Show Avatar or being Friend. Note that "Show Avatar" for Very Poor avatars may be removed in the future.

You may search for "Questtool" in Twitter or somewhere to find convenient tools that apply minimum required conversions and settings automatically. Please use the tools at your own risk.

Folder structure

Put all texture files under [exhibitor ID]/Textures and materials under [exhibitor ID]/Materials.

Total pixel count of texture

Oculus Quest has very limited RAM of 4GB. Too large textures will cause issues.

We restrict the texture size to be multiples of 4 and the total size should not exceed 4096×4096 .
That is, you can use up to 4 numbers of 2048×2048 textures. And 16 numbers of 1024×1024…… is not acceptable. As the number of texture images is limited to 8 in the Submission Rules, you can only use up to 8.

Textures with different sizes can be used inside this restrictions.