If you spend enough time building in Unity, you start to see the same visual bugs over and over again. Weird shadows, flickering textures, scenes that look washed out for no apparent reason — we've all been there.
When you're trying to ship a game, spending hours debugging a shadow artifact is the last thing you want to do.
Over time I've built up a mental cheat sheet for diagnosing these issues quickly. Here are the 10 most common ones, what causes them, and the fastest way to fix each.
1. Shadow Artifacts (Stripes or "Acne")
The cause: Shadow bias or precision issues. The object is casting a shadow on itself.
The fix: Increase the Shadow Bias and Normal Bias on your light source.
If you push the bias too high, the shadow will detach from the object (known as "Peter Panning"). Dial it back just enough until the acne disappears.
3. Light Bleeding Through Walls
The cause: Light leaking — usually caused by thin meshes or bias settings that are too high.
The fix: Check shadow bias and normal bias first. If those are fine, ensure your meshes have actual thickness. Single-sided planes are notorious for light leaks.
5. Overbright or Washed Out Scene
The cause: Exposure or Post-Processing Tonemapping issues.
The fix: Check your Post-Processing Volume — specifically Auto Exposure and Color Grading/Tonemapping. Default auto-exposure can go wild in high-contrast scenes.
7. Blurry Textures at an Angle
The cause: Texture import settings — specifically filtering.
The fix: Select the texture in your Project window and increase the Anisotropic Filtering level. This keeps textures sharp when viewed at oblique angles like roads or floors.
Quick Reference
| Symptom | Cause | First thing to check |
|---|---|---|
| Shadow stripes / acne | Self-shadowing | Shadow Bias on light |
| Jagged shadows | Low resolution | Quality Settings → Shadow Resolution |
| Light through walls | Thin mesh / high bias | Mesh thickness + bias values |
| Flat / dark objects | Missing GI | Ambient light or baked lighting |
| Washed out scene | Post-processing | Auto Exposure / Tonemapping |
| Flickering textures | Z-fighting | Near/Far Clip Planes |
| Blurry angled textures | Filtering | Anisotropic Filtering level |
| Performance drops | Overdraw / GPU load | LOD + overdraw view |
| Too many draw calls | Unbatched objects | Static/Dynamic Batching |
| Dark patches on mesh | Bad normals | Import Settings → Normals: Calculate |
I ran into almost all of these while building out my recent multiplayer projects. Once you learn to recognize the symptoms, fixing them becomes second nature.
What rendering issue trips you up most? Got a bug that's driving you crazy right now? Drop a screenshot in the comments and I'll do my best to help diagnose it.
Currently building a Unity WebGL multiplayer library in public — socketio-unity. Follow along to see more of the technical hurdles I run into.
SOCIAL SHARE CARD GENERATOR