Submission Rules (Quest)
- A large number of spaces will be set up at each venue. We would like to have many gorgeous spaces lined up in a lively and fun venue.
- Meanwhile, to deal with the problems inherent to large-scale worlds, we will set rules for space creation.
- To maintain a comfortable playing environment for visitors by avoiding high load on the PC
- Avoid inconsistent formats that will cause difficulties for the organizers to check and manage the data
- Avoid fatal bugs such as instance crush resulting in VRChat crush or returning to other world
- Before submission, make sure to check the compliance with the submission rules. Please use the submission tool (hereinafter referred to as VketTools) provided by the organizer.
- Please note that if the submitted space does not comply with the submission rules, the organizers will take measures such as resubmission request or non-placement.
- Even if the space complies with the submission rules, if the space is deemed problematic such as taking up a high load, the organizers may request a resubmission.
- When submitting complex gimmicks or dynamically changing spaces, we may not be able to guarantee reproduction.
- In the case of spaces with a significantly small amount of information, the exhibitor may be asked to confirm after the submission period, and the space may be removed only if the confirmation cannot be obtained.
About Quest Venue
- Quest Venue world will go through two separate builds for PC and Quest. Due to texture compression issues, the submitted space may look a bit different in PC build and Quest build.
- In particular, smaller texts may become illegible by the compression. We recommend to use Text or TextMeshPro components.
- In Quest build some gimmicks may not function or have different behavior.
- The VketWebPageOpener will not launch webpage in the Quest.
- To play a video in Quest you need to set the URL to be a direct link to .mp4 format video file. Youtube video URL won't be played in Quest build.
- The Quest venue world will be visited by players playing the VRChat with Oculus Quest. Please avoid such a situation that your main exhibit is available only on PC-version VRChat or SteamVR.
A. Space creation system regulations
- Create with Unity 2019.4.31f1.
- For VRCSDK, use VRCSDK3-WORLD.
- Use the latest version of VRCSDK and Udon at the time of submission.
- Use VketTools for submission.
- All assets used in the space should be placed under the [exhibitor ID] folder (e.g., 184) created directly under the Assets folder by VketTools.
- Create the space on the [exhibitor ID] scene found in the above folder.
B. File & Folder regulations
- Only half-width alphanumeric characters,-(hyphen), _ (underscore), (half-width space), .(Dot), and () (parentheses) can be used for file & folder names.
- All files included in the Project should follow the above rule.
- All file paths should fit within 184 characters under "Assets /" in Unity.
- The mesh should be in such a format that can be used in Unity by default, such as ".fbx".
- ".blend" files cannot be read by default.
- Be sure to extract the Textures and Materials of the mesh.
- Total file size capacity under the submission folder must be within 100.00MB
C.Scene hierarchy structure regulations
- All objects included in the space should be arranged and set according to the following regulations.
- Every object should be children of the [exhibitor ID] object.
- Objects should be placed under the objects named Static and Dynamic, which are the children of the aforementioned parent object.
Static object
- Objects with the below property should be placed under the "Static" object.
Fixed object with unchanging mesh - All objects inside the "Static" object should have the Static settings defined below.
Static setting | Regulation |
---|---|
Contribute GI | Unrestricted. The layer should be sent to Environment when Contribute GI is Enabled. |
Occluder Static | Disabled |
Occludee Static | Enabled |
Batching Static | Enabled in principle, but you may disable it if the batching may cause rendering issues. |
Navigation Static | Disabled |
Off Mesh Link Generation | Disabled |
Reflection Probe Static | Unrestricted |
Dynamic object
- Objects with one of the below properties should be placed under the "Dynamic" object.
- Objects with animations, including all changes like Enable/Disable as well as movement and rotation.
- Objects that can be Pickup
- Objects with ParticleSystem
- Objects with AudioSource
- Objects with Rigidbody
- Objects with UdonBehaviour
- Objects controlled by UdonBehaviour like movement or Active switch
- Any other objects that may move or be subject to controls
- All objects inside the "Dynamic" object should have the Static settings defined below.
Static setting | Regulation |
---|---|
Contribute GI | Disabled |
Occluder Static | Disabled |
Occludee Static | Disabled |
Batching Static | Disabled |
Navigation Static | Disabled |
Off Mesh Link Generation | Disabled |
Reflection Probe Static | Disabled |
D. Space regulations
-
Your space must be contained within the boundary of 4m wide x 4m deep x 5m high
-
± 2m in the XZ direction and 5m in the Y direction with respect to the origin
-
Z axis + direction (the direction of the blue arrow in Unity) is the front
-
The number of textures is limited to 8
- However, atlasing (texture integration) is strongly recommended.
- One large size (4k) sheet is preferable to multiple small size (1k-2k) sheets.
-
Texture limitation
- Please set the pixel size of each texture to be multiples of four, both vertically and horizontally.
- The pixel size of all textures must not be larger than 4096 * 4096.
- e.g. single texture of 4096 * 4096 size: acceptable
- e.g. two textures of 2048 * 2048 size and two textures of 1024 * 1024 size : acceptable
- Please disable Override for Android on the texture import setting.
- On the Quest build, the organizers will impose a uniform texture compression setting.
- We are planning to use the ASTC6x6 format for compression, but depending on the drawing load we may opt for stronger compression formats like ASTC8×8.
-
AssetBundle build size within 5.00MB
- This is the file size when building the space with only VRC_World in place
-
SetPassCalls and Batches should be lower than the following values to reduce the drawing load.
- Run-time SetPassCalls reference value 20
- Run-time Batches estimated reference value 30
-
The total size of lightmap images should not exceed 512x512(262,144)
-
Among the objects with ContributeGI checked (except those with ScalesInLightmap value of 0), those with overlapping lightmaps cannot be submitted.
-
Upon placement, the space may be rotated on the Y-axis.
-
Upon placement, the coordinates will be different from the origin.
E. Shader regulations
- Permitted shaders
- All built-in shaders of Unity except for the below
- Particles/Standard Unlit
- 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_20220923"
- Among the shaders in "UniVRM-0.99.4_8d33"
- UniGLTF/○○○○
- VRM/○○○○
- Among the shaders in "noribenQuestWater shader"
- Noriben/DepthWater
- Noriben/noribenQuestWaterCubemap
- All built-in shaders of Unity except for the below
- Prohibited shaders
- All shaders other than those listed above.
- The above shaders other than "noribenQuestWater shader" do not need to be included in the submission folder.
- VRChat/Panosphere will be replaced with the one modified to be Quest-compatible upon placement.
- All shaders in "Unlit_WF_ShaderSuite_20220813" will be replaced with the Quest-compatible one upon Quest build.
- If you use Emission in the Standard shader, please set Global Illumination to be Baked.
F.Component regulation
Available Components
1. VRCSDK
- UdonBehaviour
- 10 or less per space
- Those in the official prefabs count.
- See Udon Rule for detailed rules.
- 10 or less per space
- VRC Object Sync
- 5 or less per space
- Those in the official prefabs count.
- Allow Collision Ownership Transfer should be disabled.
- 5 or less per space
- VRC Pickup
- 5 or less per space
- Those in the official prefabs count.
- 5 or less per space
- VRC Station
- Up to 4 per space
- VRC Ui Shape
- VRCSpatialAudioSource
- Adjust Far in such a way that the sound source does not affect the outside. The acceptable range of the sound effects is up to 0.2 times the booth size of each dimension outside the space, or 0.8m in width, 1m in height, and 0.8m in depth in both directions.
- VRC Unity Video Player
- Can only be used as a part of official Prefabs.
- Up to 1 per space
- VRC Avatar Pedestal
- Can only be used as a part of official Prefabs.
2. Physics engine
- Box Collider / SphereCollider / CapsuleCollider / Mesh Collider
- Mesh Collider is not recommended. Make similar shapes with other Colliders as much as possible.
- Do not stick out of the space.
- Rigidbody
- Enable Is Kinematic.
- Cloth
- Within 1 per space
- Character Controller
- Dynamic Bone
- Enable Distant Disable.
- Dynamic Bone Collider
3. Rendering / Effect
- Mesh Filter
- Mesh Renderer
- Do not stick out of the Bounds space.
- For objects with ContributeGI checked, set the Layer allocation to Environment.
- ContributeGI can only be used in the Environment Layer.
- Mesh Renderer with 0 materials is prohibited.
- Changing Lightmap Parameters is prohibited.
- Skinned Mesh Renderer
- Do not stick out of the Bounds space.
- Disable Update When Offscreen.
- Skinned Mesh Renderer with 0 materials is prohibited.
- Sprite Renderer
- Sprite Mask
- Sorting Group
- Particle System / Trail Renderer / Line Renderer
- Do not stick out of the space during playback.
- Light
- There is a limit to the settings. Use the values in the table below.
- Minimize the protrusion of lights from the space. If it sticks out, make it less than 2 meters (about 2 meters in front, back, up, down, left and right of each space will be allocated as a buffer area with other spaces. Please keep the light effect inside this area.)
- Please note that even if it is within the specified range, we may ask you to change or remove it if the installation method interferes with the baking work of the entire world or strongly affects other spaces.
- Light Probe Group / Light Probe Proxy Volume
- Do not stick out of the space.
- Reflection Probe
- Set Type to either Baked or Custom.
- Resolution is at maximum 128.
- Camera
- Not more than 1 per space
- Set the component to Disabled in the initial state.
- Be sure to specify RenderTexture for TargetTexture.
- RenderTexture size up to 1024x1024.
- Flare Layer
- Skybox
- Projector
- Not more than 1 per space
- Objects that include Projector should be inactive in the initial state.
- Post Process Volume
- Disable Is Global.
- 【Prohibited Effects】The below Effects cannot be used.
- Ambient Occlusion
- Screen Space Reflection
- Depth of Field
- Motion Blur
- Lens Distortion
Light setting value limit
Directional Light cannot be used.
Type | Point or Spot | Area |
---|---|---|
Mode | Baked | (baked only) |
Range | 0~7 | 0~7 |
Width | - | 0~5 |
Height | - | 0~5 |
Radius | - | 0~2.5 |
Intensity | 0~10 | 0~10 |
Indirect Multiplier | 0~15 | 0~15 |
Shadow Type | Soft Shadows or Hard Shadows | - |
Cast Shadows | - | ON |
Number limit | No limit | Up to 3 per space |
4. Constraint
- Aim Constraint
- Look At Constraint
- Parent Constraint
- Position Constraint
- Rotation Constraint
- Scale Constraint
5. UI
Canvas / Layout related
- Canvas
- Set Render Mode to World.
- Canvas Scaler
- Graphic Raycaster
- Canvas Group
- Grid Layout Group
- Horizontal Layout Group
- VerticalLayout Group
- LayoutElement
- Content Size Fitter
Drawing related
- Canvas Renderer
- Text Mesh Pro / Text Mesh Pro UGUI
- Include FontAsset in the submission folder (standard items do not need to be included).
- Text
- Outline
- Shadow
- Image
- Raw Image
- Mask
- Rect Mask 2D
- Aspect Ratio Fitter
- PositionAsUV1
Input related
- Button
- Toggle
- Toggle Group
- Slider
- Scrollbar
- Scroll Rect
- Dropdown / TMP_Dropdown
- Input Field / TMP_Input Field
- Event Trigger
- Selectable
6. Others
- Animator
- Not more than 50 per space
- Disable Apply Root Motion.
- Culling Mode should be set to Cull Update Transforms or Cull Completely in principle. Avoid Always Animate unless absolutely necessary.
- AudioSource
- 10 or less per space
- Set the component to Disabled in the initial state.
- Adjust the Volume by referring to the sound source distributed by the organizer so that it does not become excessively loud.
- Set Spatial Blend to 1.0 except for those used in official Prefabs.
- Adjust Max Distance in such a way that the AudioSource does not affect the outside. The acceptable range of the sound effects is up to 0.2 times the booth size of each dimension outside the space, or 0.8m in width, 1m in height, and 0.8m in depth in both directions.
- Specifications of the sound source
- Base loudness value: -14LUFS, with Ceiling set to -3.0dB
- Export setting: .ogg -128kbps is recommended
- Audio Reverb Zone
- Adjust Max Distance so that it does not affect the outside of the space.
- Cyan Trigger
Component that can only be used as part of official Prefabs
Prefab | Available Component |
---|---|
Vket_AvatarPedestal | VRC Avatar Pedestal |
Vket_VideoPlayer | VRC Unity Video Player |
Other components prepared by the organizers
Prohibited Component
All Components other than the above available Components
Controlled Component
The range of ± 3m on the X-axis, ± 4m on the Z-axis, and + 6m on the Y-axis with respect to the origin, that is an area of 6m width, 8m depth and 6m height, shall be defined as the Udon Update Range.
The below Components shall be controlled by the organizer based on this range.
- VRC Pickup
- If used outside the official Prefabs, the object location will be reset once the player goes outside the Udon Update Range.
- Camera
- It will be Disabled once the local player goes outside the Udon Update Range.
- AudioSource
- It will be Disabled once the local player goes outside the Udon Update Range.
- Projector
- The Component with Projector attached will be turned not Active once the local player goes outside the Udon Update Range.
- VRCUnityVideoPlayer
- Stop() function will be called once the local player goes outside the Udon Update Range.
Pedestal Avatar Regulations
Please observe the following for avatars set in VRC_Avatar Pedestal, in accordance with VRChat's guideline.
In Quest world, you may only set Quest-compatible avatars to your VRC_Avatar Pedestal.
- Skinned Mesh Renderer: 8 or less
- Material: 16 or less
- 32 or less Transforms affected by Dynamic Bone
- Dynamic Bone Collider: 2 or less
- Number of polygons: 70,000 or less
World specifications
- World installation
- VRC Mirror
- World specifications
- Light setting
- Default, Player, PlayerLocal, Pickup, MirrorReflection, Realtime that illuminates the layer, DirectionalLight of NoShadow
- The angle of DirectionalLight depends on the world.
- Baked light with Shadow for world structures that illuminate the Environment layer
- LightProbes will be installed at eight locations on the outer circumference of each space.
- A Reflection Probe for the world will be installed.
- ProgressiveCPU is used for the light mapper.
- Directional Mode is set to Non-Directional.
- Default, Player, PlayerLocal, Pickup, MirrorReflection, Realtime that illuminates the layer, DirectionalLight of NoShadow
- Layer settings
- Default layer is used for objects that do not check ContributeGI (avatar model, etc.).
- The Pickup layer is used for objects that do not check ContributeGI (such as small models with pick up).
- The Environment layer is used for World structures and space exhibits that have ContributeGI checked.
- UserLayer22 is used as a layer for Post Processing.
- Post Prosessing settings
- Use Bloom from Post Processing Stack V2.
- Use Version 2.3.0
- Navigation settings
- NavMesh is not baked
- Light setting