Simply having a mesh with a vertex channel that is not Float32 or Float16 (or unorm8 for the color channel) causes server-side validation to fail (For a list of vertex attribute formats see https://docs.unity3d.com/2022.3/Documentation/ScriptReference/Rendering.VertexAttributeFormat.html ). While these are unusual, certain optimization tools will use these for normal/tangent/uv1 to reduce vertex size, something that is especially important for mobile (for example see https://github.com/StressLevelZero/CustomStaticBatching ). Integer formats are also important for some use-cases. World with fixed-point mesh: https://vrchat.com/home/world/wrld_e9f594c3-f33f-4638-8df4-711afc6bce4e/info Joining this world will send you back to your home, and print this to the log: Error - [API] [2570, 403, Get, -1 https://api.vrchat.cloud/api/1/analysis/file_b25715ea-6d63-408a-be18-a279972580c0/102/security] Abandoning request, because - File forbidden Error - World 'wrld_e9f594c3-f33f-4638-8df4-711afc6bce4e' did not pass initial checks and won't be downloaded: 10 Error - Error Downloading or Instantiating Custom Scene - Fixed-Point Mesh - 10 Steps to reproduce: Download any of the attached Mesh_* files and rename the file from the canny-generated hash to the original name plus .asset as the extension. Move one or more of these into the assets folder of a VRC world project. 1a. Alternatively, download/rename CreateNonStandardMeshes.cs into your project. Then run Create Debug Meshes->Create from the top bar. This will generate the meshes in your root Assets/ folder. Make a new scene with the VRC World template. Place a cube in the scene, and change the mesh filter's mesh to the Mesh_* mesh you copied in 1. Build and publish. Try to load the world and you will be kicked to your home. Checking the log reveals the map has failed validation