Uncanny Alley: A New Day just won an Emmy, and it runs in a VRChat world built with the same free tools anyone can download. You don’t need 30 environments or a live cast to start. This guide takes you from nothing to a small world you can walk around in with friends.
1. Install the Creator Companion
Start with the VRChat Creator Companion (VCC), not by installing Unity on your own. The VCC is VRChat’s official launcher for creator projects. It tells you exactly which Unity version to install (VRChat pins a specific version, and using the wrong one is the most common beginner mistake), creates projects, and manages the VRChat SDK and add-on packages.
- Download the Creator Companion from VRChat’s creator site.
- Install Unity Hub, then the Unity version the VCC asks for.
- In the VCC, create a new World project. It sets up the Worlds SDK and UdonSharp for you.
2. The minimum a world needs
Open the project in Unity. A world that uploads successfully needs very little:
- A VRC Scene Descriptor. The SDK provides a ready-made prefab, which is the easiest way to add it.
- A spawn point, set in the descriptor, which is where visitors appear.
- Floors with colliders. If there’s no collider under the spawn, visitors fall forever. Unity’s default Plane and Cube objects already include colliders.
Build a plain room first: floor, four walls, a light. Upload it (section 5) before making it pretty. Confirming the pipeline works saves hours of debugging later.
3. Think about Quest from day one
Many VRChat users are on standalone Quest headsets, and Uncanny Alley’s audience was too. Worlds for Quest must be built separately for Android and have strict size and performance limits. Good habits to start with:
- Keep polygon counts and texture sizes modest. Use 1K or 2K textures, not 4K by default.
- Use mobile-friendly shaders for the Android build.
- Bake your lighting instead of relying on real-time lights (next section).
- Check the SDK’s build panel, which warns you when you go over limits.
4. Lighting that doesn’t cost a fortune
Real-time lights are expensive in VR. For static geometry, mark objects as static and bake lightmaps. Unity then precomputes shadows and bounced light into textures. You get richer lighting for close to no runtime cost. Add a light probe group so avatars moving through the space pick up that lighting, and a reflection probe so shiny surfaces don’t reflect a blank sky.
5. Upload and test privately
Open the VRChat SDK control panel, sign in, and use Build & Test to try the world locally first. When it works, Build & Upload, give it a name and thumbnail, and leave it private. Visit it in VRChat, invite a friend, and walk around together. That’s where you find missing colliders, dark corners and spots where voices sound wrong.
New accounts may need to reach a certain trust rank before they can upload. If upload is greyed out, spend some time in VRChat first.
6. Where to go next
- Udon / UdonSharp for interaction: doors, buttons, synced video players. This is where performance tools like Uncanny Alley’s cue system start.
- Blender for custom geometry once you’ve outgrown primitives.
- Public release when the world has been tested on both PC and Quest.