Quest-compatibility Guide
Vket2021 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 Vket2021 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.8
- UnityChanToonShader/Mobile/○○○○
- All shaders in
Unlit_WF_ShaderSuite_20210905
- Among the shaders in
UniGLTF_VRMShaders-0.81.0_5126
- 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.
- Build the world with Build & Publish button of VRCSDK
- Open Unity editor log (Open Console window and select
Open Editor Log
from the menu)
- 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.
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.
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.
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.