[VRChat] Making Rendering Lighter: Mirrors, Shadows, and LOD in One Room

Created: 2026-09-08Last updated: 2026-09-09

Causes of heaviness come in an order. Adjust mirrors, realtime shadows, and LOD one at a time and watch the Stats numbers drop. Covers getting lighter while keeping the look.

You had a friend visit and they said it felt a bit heavy. You have no idea what to fix.

Deleting furniture to cut polygons often changes little. Causes of heaviness come in an order, and starting anywhere but the effective end wastes effort.

This article adjusts mirrors, shadows, and LOD one at a time in the same room and watches the Stats numbers drop.

Comparing rendering weight while changing settings in the same room

What You'll Learn

  • The order in which causes of heaviness matter
  • The three Stats numbers to watch
  • Practical adjustments for mirrors, shadows, and LOD
  • How to get lighter while keeping the look

Start from a room with lighting and furniture.

Sponsored


Heavy things come in an order

For world rendering specifically, the order of what matters is fairly settled.

Effective from the top down. Polygon count comes last
RankCauseWhy it's heavy
1MirrorsThey draw the room a second time while visible
2Realtime shadowsEach light adds a shadow-rendering pass
3Material typesA separate material per piece of furniture prevents batching
4Overlapping transparencyGlass, curtains, overlapping particles
5Polygon countWhen you line up high-detail furniture

The surprise is that polygon count comes last. A large number stands out and looks like the cause, and the four above it almost always matter more.

Adjust in that order too. Mirrors → shadows → materials → transparency → rebuilding furniture. Work down and stop where it takes effect.

Three numbers to watch in Stats

Make the numbers visible so you can compare before and after.

Press the Stats button at the top right of the Scene view or the Game view. A small panel appears.

The numbers Stats displays, and what they mean

Plenty are listed, and three are enough for a beginner.

FieldMeaningTarget
BatchesHow many times drawing was batched. Lower is betterCompare the change
SetPass callsHow many times the material switched. Lower is betterCompare the change
TrisTriangle count — the polygon countLook at it last

The important part is watching the change, not the absolute value. There's no standard for "Batches under N is fine." If the number drops when you change a setting, that adjustment worked.

Fix your comparison spot and viewpoint before adjusting

When comparing, measure from the same place, facing the same direction. Scene view viewpoint changes move the numbers, so fix on the Game view or change only settings without moving the viewpoint.

Sponsored

Hands-On: Adjust mirrors, shadows, and LOD in turn

Work down, changing one thing at a time and watching the numbers.

1. Narrow the mirrors

Biggest effect. Start here.

A mirror draws the room a second time behind the scenes

Mirrors are heavy because they aren't photographs — they run the game a second time behind the scenes. While a player looks at a mirror, Unity draws "the main image" and "the image in the mirror" separately. In VR there's each eye too, so the load is larger than you'd guess.

Three things to do.

  1. Off by default: disable the mirror GameObject initially and reveal it with toggling with a button. This is the biggest win
  2. Narrow the reflected layers: in VRC Mirror Reflection's Reflect Layers, remove Particle, UI, Pickup, and anything else you don't need. Try a "people only" mirror with just Player and MirrorReflection first
  3. At most one at a time: don't leave several mirrors around the room all showing

Watch Stats while switching between "mirror off," "people only," and "room too." The numbers change clearly.

For worlds that also ship to Quest or phones, not placing mirrors, or always leaving them off, is the practical choice.

2. Reduce shadows

Realtime shadows come next.

Realtime shadows add drawing per light

A shadow-casting light builds "the view from the light" before drawing the main image. A Point Light's shadow needs six directions, so making every indoor light cast realtime shadows rivals a mirror in weight.

The standard practice for indoor worlds:

  • Bake constantly-lit lights: set ceiling lights and lamps to Baked (lighting and baking)
  • Moving objects use Light Probes: props and avatars pick up brightness from probes (Light Probes and Reflection Probes)
  • One realtime light, one shadow at most: when you really want a moving shadow, keep one Directional Light through a window
  • Fake the contact shadow: a thin dark panel under furniture reads convincingly enough

Set a Point Light's Shadow Type to No Shadows and compare Stats. The difference in numbers should exceed the difference in appearance.

3. Unify identical furniture

Third is material types.

Objects sharing a material can be drawn together

Placing furniture with a separate material each raises Batches and SetPass calls even with few polygons, because Unity pays a cost each time it "switches material."

The response is simple.

  • Share one material across identical-looking objects (materials and textures)
  • Mark static objects Static: enabling Static at the top right of the Inspector lets Unity batch the drawing

What to mark Static is the same as for baking: floors, walls, ceilings, furniture. Not things that move.

4. Simplify distant objects (LOD)

LOD (Level of Detail) swaps distant objects for simpler shapes.

A distant plant doesn't need the same detail as a close one

A plant seen up close needs detailed leaves; one only visible from across the room does fine as a rough shape. Nobody can tell.

The setup:

  1. Add a LOD Group to the target object
  2. Assign the high-detail model to LOD 0 and a simple model to LOD 1
  3. Adjust the switching distance with the slider
Which model is used switches by how much of the screen it occupies

The switching criterion isn't distance itself but how much of the screen it occupies. Once it recedes and looks small, it switches to the simpler version.

That said, LOD's effect is limited in small rooms, since there isn't much distance to begin with. It earns its keep in large gardens and halls. Preparing separate low-detail models takes effort too, so it ranks below mirrors and shadows.

5. Confirm what changed

Compare numbers from the same viewpoint, before and after

Return to the viewpoint you measured first and compare Stats. Lower numbers mean success.

On top of that, always confirm whether the look is acceptable. Throwing away all the atmosphere to get lighter defeats the purpose. Most worlds get plenty light by "reveal mirrors with a switch" and "bake the shadows" alone.

Finally, confirm in actual VRChat. Load differs between the Unity editor and the real device.

Common Pitfalls

  • The numbers don't change → You may not be comparing from the same viewpoint. Fix on the Game view to measure
  • It's heavy even with the mirror off → Shadows or materials are the cause. Move to the next item
  • Batches won't drop → Check whether identical-looking objects use separate materials, and whether Static is set
  • LOD doesn't switch → Check the switching distance setting. It won't switch until you're far enough from the camera
Sponsored

Bonus: Good to Know Up Front

  • Transparency gets heavier as it overlaps: Glass, curtains, and particles overlapping in view repaint the same pixels repeatedly. Don't line up too many see-through objects
  • Match texture size to displayed size: A distant prop doesn't need a 2048 texture. Lowering Max Size in Import settings alone cuts size and memory
Set texture resolution by how large it actually appears
  • Occlusion Culling is an option too: It excludes objects hidden behind walls from drawing. The effect is large, and setup and baking take effort. Consider it for large worlds with several rooms
Excluding objects hidden behind walls from drawing
  • Post Processing is expensive: It applies effects across the whole screen, improving the look and adding weight. Avoid it especially on Quest
  • Quest and phones have a separate budget: Comfortable on PC doesn't get you in there. Covered in gathering in one room from PC and Android

Summary

Making things lighter has an order.

  • Mirrors are heaviest. Off by default, with narrowed reflected layers
  • Then realtime shadows. Bake the constantly-lit ones, use probes for moving objects
  • Unify materials and mark static objects Static
  • Look at polygon count only after those three are sorted

The question to ask before acting is: "Is a mirror in the view right now?" If it is, that's your first adjustment.

Once rendering settles, review moving props in reducing physics load, or check the script side in optimizing Udon and networking.

VRChat Notes in this section63