Skip to main content

Basic Upload and Modelling - Worlds

The easiest and most comprehensive way to learn world creation is by watching the tutorial series linked at the top of this guide:\

I recommend using VRWorldToolkit: a Unity Editor extension for making VRChat worlds[]. It will help you optimize your world.

EasyQuestSwitch[] helps to switch a world (or avatar) from PC to Oculus Quest: allows to switch properties of all specified assets (like the shader of a material) to a specified PC or Quest version with one button.



Great for making/prototyping levels and level geometry. Effectively a simple 3D modeler inside Unity.

Create empty Gameobjects (GameObject>Create Empty OR Ctrl+Shift+N OR right click Hierarchy>Create Empty) and use them as folders to organize objects! BEFORE MAKING ANYTHING AS A CHILD OF THE GAMEOBJECT, RESET THE TRANSFORM!!! DO NOT MOVE THE EMPTY GAMEOBJECTS THEMSELVES, MOVE ALL OF THE THINGS INSIDE OF THEM!!! (If you don’t this will screw up progrids!!!)

Z-Fighting, also called stitching, occurs when multiple 2D planes are in the exact same location (e.g. a picture on a wall). Avoid this by moving the object that is supposed to be overlapping the other a miniscule amount forward.



For simple sculpting inside Unity. Great for making natural landscapes.

UNOFFICIAL VRChat Creator Glossary[]


Asset hunting

Tip: only download free assets you think you’ll actually use; you can always come back to get them later. You can find plenty of free and paid assets on the Unity Asset store. I’ll list some additional free asset sites below:

Kenney Free Assets



Check the dimension metrics for the materials that you download, if they are available. This will inform you how much you need to change the tiling setting on them to get them to scale properly. They will often be in deviations of a meter (e.g. 1m x 1m).

When hunting for textures, prefer lossless .PNGs rather than lossy .JPGs. Unity compresses the textures as mentioned above; using lossless images will lead to higher quality textures and smaller texture sizes in Unity.

[(Completely optional) If you want to losslessly compress the .PNGs on your computer you can use a program like PNGGauntlet. Unity does not store textures as common image formats like PNG or JPEG because of their relatively slow decompression time.]

Texture Search Engine[]
Free PBR texture sites:

If a non-color texture appears colored in Unity (like a slight green), bring it into a photo editing program like GIMP and export it as a grayscale image (8bpc GRAY in GIMP, GRAYA if it has an alpha/transparency channel).

Substance Player is a free program where you can easily create custom, high-quality textures using .sabar files. You can get these files for free at



Hunting for models is far more difficult than for textures. Ensure that:

The file format is .obj or .fbx, preferably the latter
The poly count is low (or you’ll have to decimate it yourself)

I would recommend checking the Unity asset store first. If you can’t find it there then Google “*object name* 3D model”.
Free 3D Model Sites & Resources[]

Decimation (lowering the polygon count of a mesh) can be done manually by removing/merging vertices/faces or automatically.
To do it automatically in Blender, you can select quick decimation in CATS or use the decimate modifier on a mesh.
[The decimate modifier is also great for creating LODs if you want to go the extra mile.]
There are also programs meant specifically for decimation and retopology, like the free Instant Meshes.

DO NOT import .blend files directly into Unity! Export them as .fbx, then import!

You will also need a skybox. You can get some from the Unity Asset Store, or I also like TowelCloud’s skyboxes[].