Unity is open, but it's not obvious what to place to make it a VRChat world. Try to finish an entire room up front and you stall on models and lighting.
Start instead by getting to spawn on a 6m floor, walk on it, and come back when you fall off. It looks plain, but without this foundation you can't place chairs or buttons either.
This article covers setting up three things — floor, spawn point, fall recovery — and getting into your own world in real VRChat. No code.
What You'll Learn
- Why a floor's "look" and its "collision" are separate things
- How VRCWorld, Scene Descriptor, and the spawn point relate
- How to choose the height that brings you back after a fall
- When to use ClientSim and when to use Build & Test
Start from project setup with a Worlds project open.
You're building a floor, a spawn, and a return height
Your first world needs just three things.

- Floor: somewhere to stand. Needs both a visible shape and a collision volume
- Spawn point: the position and facing you appear at
- Return height: the altitude below which a fall sends you back to the spawn point
These look like three separate settings, but they're connected. Shift the floor height and the spawn shifts; shift the spawn and the meaning of the return height changes. Build them in order, then verify together at the end.
Four Unity windows are enough for now (see Unity's windows and controls for details). Hierarchy lists what's placed, Scene is the builder's view, Inspector holds the selected object's settings, and Console shows errors. Moving the camera in Scene doesn't change where players appear — you set that on the spawn point later.
Three parts a world needs
VRChat doesn't treat a Unity scene as a world on its own. It needs settings saying "this is a world" and "the entrance is here."
A reception desk makes the roles easy to picture.

- VRCWorld is the reception desk. One per scene. Without it, VRChat only sees "a Unity scene"
- VRC Scene Descriptor is the form on the desk. It's a component on VRCWorld, and it records "the entrance is here" and "send them back after falling this far"
- The spawn point is the mat at the entrance. You make it from an empty object placed on the floor
The important part is that laying the mat down doesn't make it the entrance. Only after you register it on the form — "this mat is the entrance" — does it become your spawn position. Skip that and you appear at the origin, buried in the floor.
VRCWorld and the spawn point don't need to be parent and child. Place them side by side and reference one from the form.
Hands-On: Build a 6m floor, walk, fall, return
Time to work. When you're done, you appear at the edge of the floor facing the center, and walking off the edge sends you straight back to the spawn point.
Prepare a new scene. Use "File → New Scene" for a basic scene and "File → Save As" to save it as Assets/Scenes/WorldLab.unity. Keep the Directional Light. Delete the Main Camera — this example doesn't use it for the player's view.
The final Hierarchy looks like this.
WorldLab
├─ Directional Light
├─ Floor
├─ VRCWorld
└─ SpawnPoint
1. Make the floor
Right-click empty space in the Hierarchy and choose "3D Object → Cube". Name it Floor and enter these values in the Inspector's Transform.
| Field | X | Y | Z |
|---|---|---|---|
| Position | 0 | -0.1 | 0 |
| Rotation | 0 | 0 | 0 |
| Scale | 6 | 0.2 | 6 |
A Unity Cube is 1 unit per side, and this example treats 1 unit as 1 meter. Scale (6, 0.2, 6) gives you a 6m square slab 20cm thick.
There's a reason Position Y is -0.1. A Cube's position refers to its center, so putting the center of a 0.2-thick slab at -0.1 lines the top face up exactly with Y = 0. Every number after this can then be read as "height above the floor surface," which makes life easier.

Use a Cube for the floor. A Plane works too, but a Plane starts at roughly 10m square and uses a Mesh Collider, which adds work for your very first slab. A Cube comes with a Box Collider already and just needs squashing.
Check that Box Collider. The floor you see and the floor you collide with are different things. Without a Collider, the shape is there but you fall straight through.
- Box Collider is enabled on the Floor's Inspector
- Is Trigger is off (turning it on makes it a pass-through detection volume)
- Leave Layer as Default
VRChat treats several layers specially, and setting the floor to Walkthrough produces a "visible but you fall through it" state. You don't need to change layers at this stage.
2. Place VRCWorld and the spawn point
Set up the reception desk.
- Open "VRChat SDK → Show Control Panel"
- In Builder, choose "Add a VRCSceneDescriptor"
VRCWorldis added to the Hierarchy
Don't add a second one to a scene that already has a Descriptor. We started from a new scene, so add one here.
Next, make the entrance mat. Right-click in the Hierarchy, choose "Create Empty", and name it SpawnPoint.
| Field | X | Y | Z |
|---|---|---|---|
| Position | 0 | 0.1 | -2 |
| Rotation | 0 | 0 | 0 |
| Scale | 1 | 1 | 1 |
The floor spans -3 to 3 on Z, so Z=-2 is inside the floor, toward the near edge. The Y of 0.1 means 10cm above the floor surface (Y=0). It doesn't need to match eye height.
Finally, register it on the form. Select VRCWorld, set Spawns in the VRC Scene Descriptor to 1 element, and drag SpawnPoint from the Hierarchy into Element 0.
VRCWorld
VRC Scene Descriptor
Spawns[0] ──reference──▶ SpawnPoint's Transform
What goes in here is not a name string but a reference to the object itself. Similar names don't count — if you didn't drag it in, it doesn't work.
Facing on spawn comes from the SpawnPoint's Rotation. With Rotation (0, 0, 0), the blue Z axis points forward. Rotating the Scene view doesn't change it; change Rotation Y instead.
3. Decide the height that brings you back
Walk off the floor and you fall. To get back, set the Scene Descriptor's Respawn Height Y to -5.
The default is -100. That value exists so large terrain worlds don't send people back by accident, but on a 6m floor you fall 100m off the edge before returning. That's several seconds of falling, and the first time you try it, it feels broken.

Setting it above the floor causes the opposite accident. With the floor at Y=0, a Respawn Height of 0 or 1 means standing still counts as "below the line," and you loop between spawning and respawning forever.
Laying out the current relationship:
Y = 0.1 SpawnPoint (where you appear)
Y = 0 top of the floor
↓ falling off the edge
Y = -5 drop below this and you return to the spawn point
Respawn Height isn't a mechanism for detecting entry into a particular box — it's a horizontal line across the entire world. If you build a basement later, put it below the basement floor. When "I get sent back the moment I go downstairs," suspect this value first.
Once you want different return points per area, move on to code in fall recovery and checkpoints.
4. Walk in ClientSim
Save the scene and press the Play button at the top of Unity. ClientSim, included in the Worlds SDK, runs and lets you walk around inside Unity just like VRChat.
Click the Game view to take control, move with W/A/S/D, and look around with the mouse. Three things to verify.
| Action | Expected result |
|---|---|
| Start Play | You appear near the front of the floor, facing the center |
| Walk in all directions | You walk on the floor without falling through |
| Walk off the edge | You fall, and return to the spawn point in about a second |
All three passing means this article's goal is met. Jump height and walk speed are separate settings and aren't part of the success criteria here.
Some values changed during Play revert when you stop. If a value you tried works well, stop first, re-enter the same value, and save.
5. Enter VRChat with Build & Test
Once you can walk in ClientSim, do the same in real VRChat. Running through ClientSim first matters. If you fall through inside Unity, you'll fall through in VRChat too. Reverse the order and you'll watch the same failure after waiting for a build.

- Stop Play and save the scene
- Open the SDK Control Panel and read Builder's inspection results
- If items need fixing, read them before using the SDK's auto-fix
- Set the build target to PC (Windows) and choose "Build & Test"
- Set Clients to 1. Enable "Force Non-VR" if you're checking on desktop
- When VRChat launches, verify spawning, walking, and fall recovery again
The moment you can enter your own world yourself, your first world is complete.
Note that Build & Test is a local test running on your own PC. Uploading, which makes the world visitable by others, is a separate operation with VRChat account conditions attached. That's covered in uploading and updating.
Common Pitfalls
Narrow down where to look based on the symptom. Change one thing at a time.
- The floor is visible but I fall through → Is the Floor's Box Collider enabled, is Is Trigger off, is Layer
Default? - I appear under or outside the floor → Was
SpawnPointdragged into Spawns? Without it you appear at the origin. Then check that SpawnPoint's Y is above the floor surface - I spawn and respawn in a loop → Respawn Height is above the floor. Set it below
- VRChat shows the old state → Did you save before rebuilding? Are you launching a previous build?
Bonus: Good to Know Up Front
- Static and light baking can wait: Baking the floor to make it lighter is fine to handle after walls and lights exist. Covered in lighting and baking
- The floor's material can change later: White works identically. Wood grain or tile comes from materials and textures
- Generally, don't touch layers: VRChat reserves several layers, and renaming them yourself gets overwritten on upload. The freely usable ones are the higher-numbered User Layers
- Build complex collision from boxes: Mesh Colliders match the visible shape but cost more. Stairs and pillars are lighter and more stable made from a few Box Colliders. The mechanics are covered in collision basics
Summary
Your first world is made of three settings.
- A floor needs both a "look" and a "Collider" before you can stand on it
- A spawn point becomes an entrance only after being registered on the Scene Descriptor, not just placed
- Respawn Height goes below the floor and below the spawn point
- Run it through ClientSim first, then enter real VRChat with Build & Test
The question to ask when it doesn't work is: "Am I mixing up the look settings with the behavior settings?" Seeing the floor and walking on it, laying the mat and registering it as the entrance — each pair is two separate jobs.
Next, add walls and a doorway in blocking out a room and stairs with Cubes, or clean up the floor's look in materials and textures. When you want something that reacts to touch, head to your first UdonSharp script.