Submission Rules(General)

  • 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 spaces
    • 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) distributed from 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, a resubmission may be requested by the organizers.
  • When submitting complex gimmicks or dynamically changing spaces, we may not be able to guarantee reproduction.
  • In the case of space 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.

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 is 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 the below property 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
    dynamic
  • No limit on the number of textures
    • However, atlasing (texture integration) is strongly recommended.
    • One large size (4k) sheet is preferable to multiple small size (1k-2k) sheets.
  • AssetBundle build size within 10.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
  • Lightmap limit: not more than 1 sheet of smaller than 512 x 512 pixels
  • 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

  • The shaders listed below will be distributed by the organizers along with VketTools.
    • Manmaru Sheda MnMrShader3_1_2
    • Unity-chan Toon Shader 2.0.9
    • Unlit_WF_ShaderSuite_20220529
    • MToon v3.8
    • UniUnlit in UniVRM-0.99.0_f9ee
    • SunaoShader 1.6.1
    • ArxCharacterShaders(AXCS) Build21
    • Silent's Cel Shading Shader v1.10
    • Mochie's Unity Shaders v1.27
    • lilToon 1.2.12
  • The above shaders do not need to be included in the submission folder.
  • If you use the above shader with a different version or a modified script, be sure to use a duplicate and include it in the submission folder.
  • When creating you submit with shaders other than those listed above, please follow the below restrictions.
    • Global keywords like (shader_feature, multi_compile) cannot be used. Please use local keywords like (shader_feature_local, multi_compile_local) instead.
    • Shaders with _CameraDepthTexture cannot be used to avoid issues of VR camera display.
      • Scripts inside the Editor folder should not be put inside the submission folder.
      • When using the Poiyomi Shader, Lock the shader and submit the generated shader file only.
  • When using Emission with the Standard shader, set Global Illumination to Baked.
  • When using Stencil, keep the number of Stencil buffer to be not more than 200.

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.
  • VRC Object Sync
    • 5 or less per space
      • Those in the official prefabs count.
    • Allow Collision Ownership Transfer should be disabled.
  • VRC Pickup
    • 5 or less per space
      • Those in the official prefabs count.
  • 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. Sound effects on up to 2 meters around the space can be accepted.
  • 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 including 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
    • Set Render Mode to World.
  • Canvas Scaler
  • Graphic Raycaster
  • Canvas Group
  • Grid Layout Group
  • Horizontal Layout Group
  • VerticalLayout Group
  • LayoutElement
  • Content Size Fitter
  • 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
  • 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. Sound effects on up to 2 meters around the space can be accepted.
    • 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, observing VRChat regulation.

  • 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 Directional.
    • 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