Scene Cost Optimizer — Combines, Fixes and Upgrades your Scene OFFICIAL SALE

Every scene runs slower than it should for a reason. Scene Cost Optimizer tells you which one.

Most optimisation tools hand you a checklist. This one starts with the question that decides everything else: is your frame limited by the GPU having too much to draw, or the CPU having too much to send?

Eleven tabs, one window.

MESH COMBINING & TEXTURE ATLASING

Combine static meshes, bake their textures into an atlas, and turn hundreds of draw calls into a handful — in the same window that told you whether draw calls were your problem.

What separates it from a bake-and-pray button:

  • It knows when combining makes things worse. Merging scattered objects into one giant mesh destroys frustum culling: any visible corner drags the whole thing through the pipeline. Output is bounded in world size and vertex count, so it still culls and still fits a 16-bit index buffer.
  • It refuses, and says why. Transparents are not merged by default — a merged mesh cannot reproduce their per-frame sorting. Anything skipped is listed with its reason, never in silence.
  • It won't atlas when the atlas costs you. Combine 70% of your fences and the other 30% keeps the original material alive, so the new atlas is added instead of replacing anything. The tool spots this, names the objects holding the material back, and offers to add them to your selection.
  • LOD-aware: merges every level and builds the LODGroup, so exactly one draws per frame.
  • Non-destructive: originals kept and disabled, never deleted. One Ctrl+Z undoes everything.
  • Colliders too — accurate mesh collider, or auto-fitted primitives.

Measured on a 1200-object garden scene, Windows build at 1080p: frame time 17% lower at p50, 19% at p99. 3 runs per state, 2160 samples.

OVERVIEW — the verdict, before the list

  • One answer up front: CPU-bound, GPU-bound, or headroom.
  • CPU/GPU frame time against your budget, labelled with the platform and graphics API it came from.
  • Draw calls, SetPass, batches, triangles, vertices, texture memory.
  • "Fix these first" — findings filtered for your actual bottleneck.

RENDER GRAPH — read the frame, pass by pass

  • Capture a real frame: every step URP takes, with CPU and GPU cost per pass.
  • Sort by cost to find the expensive pass, or by graph order to follow the frame.
  • Record continuously, pause on a spike, save a capture and load it back to compare.
  • The URP Render Graph itself, not an approximation.

SCENE COMPLEXITY — paint the cost onto the scene

  • Overdraw: how many times each pixel is written. Stacked transparents, oversized particle quads and full-screen effects light up immediately.
  • Shader complexity: which materials are expensive per pixel.
  • Scene and Game view. "Analyze hotspots" turns the picture into a clickable list of the culprits.

SHADOW MANAGEMENT — the pass nobody looks at

  • Every shadow caster is drawn twice. This counts the triangles your shadow pass really submits, and who contributes them.
  • Untick what does not need to cast and apply to hundreds of objects at once. Shift-click for a range, one Ctrl+Z for the whole batch.
  • Cast Shadows, Static Shadow Caster, Contribute GI, Receive GI — all editable in bulk.

LIGHTS

Type, cost, shadow mode, range, and how many other lights overlap it. Filter to baked-only or disabled-only to find them fast.


SCENE OBJECT COUNT

Meshes, materials, particle systems and shaders, with how many renderers use each. Non-URP shaders are flagged so pipeline leftovers cannot hide. A batching view shows what is and is not batched.


SHADER BUDGET — variants, tracked over time

A budget per platform, counted from your last real build, not an editor estimate (editor numbers are pre-stripping and read high — the tab says which source you are seeing).

  • Per shader: variants, keywords, materials, build size, compile errors.
  • Snapshots stored as JSON in ProjectSettings, so the history lives in your repo.

RULES · COMPARE · PROJECT


The full finding set behind the Overview, each naming the exact asset and why · capture BEFORE and AFTER and export the delta to HTML or Markdown · project-wide settings checked against your platform.



Honest about what it measures. Every number is labelled with where it came from — Editor, platform, graphics API — because an editor number is not a device number. The combining result above is a desktop build; no claim is made about Quest or mobile, because none has been measured there.



Requires Unity 6000.0 LTS or newer, URP 17.0.3 or newer. Verified on 6000.0.43f1 (URP 17.0.4) and 6000.3.23f1 (URP 17.3). URP only.