Static batching saved you once. Then design asks for procedural rooms, runtime layout changes, or spawned props, and suddenly your old fix is dead. The draw calls come back. The CPU starts working overtime. Your frame budget starts bleeding again.
This module gives you the two runtime paths that actually matter. StaticBatchingUtility.Combine when you need individual frustum culling for bigger runtime-built spaces. Mesh.CombineMeshes when you are dealing with self-contained objects and can accept collective culling for tighter control.
Proof: the StaticBatchingUtility.Combine path takes a runtime-built benches setup from 6 batches to 3. That is the difference between "nice idea" and something you can actually ship.

Start here: if runtime code builds a room, a forest chunk, or any other larger space where visibility changes piece by piece, put those child objects under one root and test StaticBatchingUtility.Combine first. If your meshes share materials and you still need per-piece culling, this is the safe first move.
The other path is for time-static objects: chairs, props, configurable prefabs, or anything you assemble once and then leave alone. There, Mesh.CombineMeshes buys you one clean combined mesh, but you are trading away individual frustum culling. Pick the wrong path and you either keep too many draw calls or over-render geometry you did not need.

Check this first: open the Frame Debugger. Verify that the benches turn into a static batch on the runtime-built path, or that the chair turns into one batched chunk on the mesh-combine path. If you cannot prove the draw-call change, you are still guessing.
CEO/Producer translation: this is how you survive scope changes without letting runtime-generated content turn into a late optimization fire.
The members-only module is the full step-by-step playbook: the exact use-case split, the API setup, the culling tradeoffs, RenderDoc validation, and the implementation details that decide whether runtime batching helps or quietly hurts.
In this module:
- 1. Runtime Static Batching - Strategy
- 2. High-Level Run-time Static Batching With Individual Frustrum Culling
- 3. Mid-Level Run-time Static Batching WITHOUT Individual Frustrum Culling
Join to unlock the full module, audio, and resources.