Submission Rules(Cosmotravel Elevator)
- 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.
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 10m wide x 10m deep x 10m high
- ± 5m in the XZ direction and 10m in the Y direction with respect to the origin
- Z axis + direction (the direction of the blue arrow in Unity) is the front
- 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 20.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 120
- Run-time Batches estimated reference value 180
- 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
- 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_20220923
- MToon v3.8
- UniUnlit in UniVRM-0.99.4_8d33
- SunaoShader 1.6.2
- ArxCharacterShaders(AXCS) Build21
- Silent's Cel Shading Shader v1.10
- Mochie's Unity Shaders v1.31
- lilToon 1.3.6
- Filamented Standard 1.1
- 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 you want to include and use 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.
- The name of the shader should not be identical to any of the built-in shaders of Unity.
- 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
- 20 or less per space
- Those in the official prefabs count.
- See Udon Rule for detailed rules.
- 20 or less per space
- VRC Object Sync
- 10 or less per space
- Those in the official prefabs count.
- Allow Collision Ownership Transfer should be disabled.
- 10 or less per space
- VRC Pickup
- 10 or less per space
- Those in the official prefabs count.
- 10 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 2m in width, 2m in height, and 2m 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
- Fixed Joint
- Spring Joint
- Hinge Joint
- Configurable Joint
- 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 2 per space
- Set the component to Disabled in the initial state.
- Be sure to specify RenderTexture for TargetTexture.
- Not more than 2 RenderTextures with sizes up to 1024x1024 each.
- 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~12 | 0~12 |
Width | - | 0~10 |
Height | - | 0~10 |
Radius | - | 0~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
- 20 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 ± 10m on the XZ-axis and + 12m on the Y-axis with respect to the origin, that is an area of 20m width, 20m depth and 12m 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.
- Rigidbody
- Objects with physics engine enabled, that is isKinematic being disabled, will not operate physics engine while there is no player inside the Udon Update Range.
Pedestal Avatar Regulations
Please observe the following for avatars set in VRC_Avatar Pedestal, in accordance with VRChat's guideline.
- 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.
- 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