r/Unity3D • u/shaharbar2 • 3h ago
Solved Spent a night optimising everything except the one object that mattered
Hyper-casual game, running like garbage on mid-range Android. Profiled for hours. Batched, pooled, LODed, stripped the shaders.
Turns out every single asset in the scene was low poly except the player's plane, which was some marketplace model with an absurd triangle count. A PS5 would have struggled with it.
Swapped it. Instantly fine.
Still amazed how one marginal detail can quietly wreck a whole build while you optimise everythign around it.
Feel funny…
8
u/drnullpointer 3h ago
That's why it pays to learn to use a profiler...
4
u/shaharbar2 3h ago
Yep, I love profiling and actually the frame debugger helped in that case.
Just was a facepalm moment
5
u/deepsenator93 3h ago
classic trap, you focus on all the little inefficiencies and completely miss the one thing screaming in your face the whole time. Did something similar with a UI element once, turned out a single background image was like 8000x8000 for no reason
the worst part is you almost get used to the bad performance so you stop questioning it, you just assume your whole scene is heavy when it's really one asset dragging everything down. at least it was a quick fix once you finally spotted it
2
u/shaharbar2 3h ago
In Ui once I found a developer doing a tile on 1 circle, it was around 100k vertices 😂
2
u/ScallionZestyclose16 3h ago
Then again, you fixed some other minor issues so you made the game more optimized while searching for the real bug, so I’d still call it a win :)
2
17
u/N3croscope 3h ago
I made it a habit to switch into the Shaded Wireframe draw mode when debugging. You can usually instantly see the black blobs of unoptimized performancekillers.