Homework: design your own room for VRChat.

I reimagined my bedroom with more space/color and added the reading nook I’ve always wanted. In total, it took me around ~17 hours and I finally nailed rendering in Unity :)

To start off, I made a new 3D project in Unity (2017.4.28f1). I’m using ProBuilder and ProGrids — 1st time! — for quick prototyping and the “snap-to-grid” feature.

First, I threw down some furniture for scale and came up with a floor plan:

I couldn’t find a lot of nice low-poly potted plants for free, so I combined two asset packs to get the look I wanted.


Halfway through placing walls one by one, I figured there had to be a better way – so I went through all the ProBuilder buttons and found the Create Poly Shape tool. I ended up tracing over my floor plane, pulling it up to make a box, then flipping the normals so that the textures would be inside out.

(I also swapped out the bed model after I found a better one! You might see other models suddenly disappear as I change my mind.)

Next step was to add some windows. I needed to cut a hole that matched my window model exactly, so I used this tutorial to subtract the shape of my window from the wall.

Done! And I started working on some comfy seats :)

And since I got the bookcase and book assets separately, I had to place everything on the shelves myself:

Things are looking good! Most of the furnishing is done, but I’m so sick of this default gray & blue skybox. I swapped it out, and…


One thing I’m proud of here is how much better I’ve gotten with materials in Unity :) I assigned the same dark wood texture to the bed frame, desk, bookcases, and easel. [and this plush teal texture on bedsheets pillows and chair]

I also switched everything over to mobile shaders for better performance: Bumped Diffuse for anything with a normal map (extra detail), Vertex Lit for very simple (almost flat) lighting, and Diffuse for everything in between. This should reduce the load on my Quest when I launch this scene on it later.

<<<insert screenshots of shaders/materials>>>

time to add a second window – this wall is much bigger than the 1st one, so i “probuilderized” the window in order to manipulate its shape and extend(ed?) it to 3 panes]

(repeated the subtraction process)

(added a neutral wallpaper i found on __! so this is what my room looks like right now: )

(cute, but kind of flat. started playing with settings in the lighting tab, decided to switch the environment lights from my custom off-white color to the skybox:)

(so much warmer!! still has some flaws: light is leaking through the seams, weird effects on the leaves, only direct shadows. only one fix: bake lightmaps. turned off realtime global illumination, ___, and hit Generate.)

(my first bake! super happy – but i have more changes.

  1. we lost a lot of the pink lighting :(
  2. i feel like the scene would come together if the light shining thru the window fell on the floor (towards the center of the room)
  3. i forgot to push the window further back into the wall (oops.) also the metallic gray is messing up the aesthetic

made some tweaks: bumping up the environment lighting, lowering the sun’s indirect lighting (to avoid overexposing / washing out the scene), rotating the sun, swapping materials…

(…and it’s perfect! :)

made the room feel more personal by scanning in a painting of mine: )

(reading corner was looking empty so i tossed in a rug.)

(the “lightbox” effect going on inside the seat was actually a mistake! the bottom of the model clipped through the floor, flooding it with skybox light. but i ended up liking the look, so i left it as is)

(customized my desk! tour poster from my fave singer/songwriter, one of NYC’s immersive art destinations, more drawings of mine)

Lastly, I followed this tutorial to try something new: light probes! Since all of the lighting in my scene is pre-rendered, dynamic game objects like VRChat avatars won’t be affected by it unless I set up “samples” of the lighting like so:

Just one thing: I haven’t been able to get rid of the artifacts on this door, no matter how many times I move it, change its settings, or re-bake it. So… I took the easy way out and made it vertex-lit.

And 17 hours later… we’re done!

Assets I used: