Why does one material matter more than triangle count?
Triangles are GPU work and modern GPUs have plenty of it. Materials are CPU work — every material switch is a draw call, and draw calls are what actually caps how many props you can put in a room. One material per asset is the single cheapest thing an asset pack can do for your frame time.
Because the bottleneck is almost never the triangles.
A draw call is the CPU telling the GPU “render this batch with this state”. Changing material means changing state, which means ending the batch and starting another. The GPU is idle for part of that handoff. Do it two hundred times a frame and you have a CPU-bound scene with a GPU that spent most of its time waiting.
Triangles, meanwhile, are the thing GPUs were built to chew. A hundred thousand triangles of static prop geometry is not a problem on any hardware you are shipping to. Two hundred draw calls of prop geometry is.
The multiplication that gets people
Material count per asset does not add. It multiplies by how many of that asset you place.
Put forty props in a room:
- One material each: 40 draw calls, and if they share a material or an atlas the batcher can collapse them much further.
- Three materials each: 120 draw calls, and batching helps far less because the state changes are interleaved.
The second room might well have fewer triangles. It will still be the slower one. This is why “low-poly” on a store page tells you much less than it sounds like it does, and why the number worth asking for is materials per prop.
What to check before you buy a pack
Store pages rarely make this easy. What to look for, in order:
- Materials per asset. One is the answer you want. Some packs quote a total material count for the pack, which is a different and much less useful number.
- Whether the pack shares an atlas. A pack where every asset draws from one shared texture atlas can batch into a handful of draw calls for the whole set. This is strictly better than one-material-per-asset, and rarer.
- Whether the materials are actually distinct. Four materials that are the same shader with different colours can often be collapsed into one with a texture atlas or a vertex-colour setup. Four materials with genuinely different shading models cannot.
- Transparency. One alpha-blended material in the set will cost you more than the rest of the pack combined, because transparent geometry has to be sorted and cannot batch with opaque.
Where our pack sits, honestly
Every asset in the 1960s Office pack carries exactly one material, so each prop is one draw call and the set batches cleanly.
They are not packed into a single shared atlas. Each asset has its own texture. That means the set is one draw call per asset, not one for the whole pack — which is good but not the best available answer, and we would rather say so on the page than let you find out on import. A shared atlas is on the list for a later revision; when it lands, the whole set will collapse to a handful of calls.
The trade you are actually making
Spending triangles to save materials is almost always right for props. A bevelled edge modelled in geometry costs you a few dozen triangles; the same edge implied by a second material costs you a draw call every time that prop appears. Bake detail into one texture, model the silhouette in geometry, and keep the material count at one.
The exception is anything that genuinely needs two shading models in one object — a lamp with an emissive shade, a window with real glass. Those are worth the second material. A drawer front that happens to be a different colour is not.
Updated 13 August 2026 · LeftPunch Studio
Related
We write these while building. The pack they come from — a 1960s office set of 110 props plus a 30-module architecture kit — is in production and every prop's audit verdict is published, including the ones that failed.
See the pack