Unity performance budget calculator banner

Performance Budget Calculator

Pick your target platform and see a realistic per-frame performance budget.

Target platform & frame rate

33.3 ms per frame

Mobile — 30 FPS target

MetricBudget
Draw calls~100 – 150
Triangles on screen~150K – 300K
Texture memory~256 – 512 MB
Active rigidbodies~20 – 40
Particles on screen~200 – 500
Realtime shadow-casting lights1 (directional only)

Batching (static / dynamic / SRP Batcher) matters more here than raw triangle count — draw calls are usually the first bottleneck on mobile GPUs. Leave ~20% headroom for thermal throttling on long sessions.

16.6 ms per frame

Mobile — 60 FPS target

MetricBudget
Draw calls~50 – 100
Triangles on screen~100K – 200K
Texture memory~256 – 512 MB
Active rigidbodies~10 – 25
Particles on screen~100 – 300
Realtime shadow-casting lights0 – 1 (baked preferred)

Half the budget of 30 FPS with the same hardware — every millisecond counts. Fill rate is usually the limit: avoid overdraw from large transparent particles and full-screen post-processing, and consider a dynamic resolution scale.

16.6 ms per frame

PC / Console — 60 FPS target

MetricBudget
Draw calls~500 – 2000
Triangles on screen~1M – 5M
Texture memory~1 – 4 GB
Active rigidbodies~100 – 300
Particles on screen~2000 – 5000
Realtime shadow-casting lights~2 – 4

GPU-side (fill rate, shader complexity) and CPU-side (physics, gameplay logic) budgets need to be profiled separately — a 60 FPS target leaves little slack for either side to dominate.

6.9 ms per frame

PC — 144 FPS target (competitive / high-refresh)

MetricBudget
Draw calls~300 – 800
Triangles on screen~500K – 2M
Texture memory~1 – 3 GB
Active rigidbodies~50 – 150
Particles on screen~1000 – 2500
Realtime shadow-casting lights1 – 2

At this frame rate the CPU main thread is the usual bottleneck, not the GPU. Keep Update() work minimal, cache component lookups, avoid per-frame allocations (GC spikes are visible at 7 ms), and use the Jobs system / Burst for anything heavy.

11.1 ms per frame

VR — 90 FPS target

MetricBudget
Draw calls~100 – 200 (per eye)
Triangles on screen~500K – 1M (per eye)
Texture memory~512 MB – 1 GB
Active rigidbodies~30 – 60
Particles on screen~300 – 800
Realtime shadow-casting lights0 – 1 (bake everything you can)

VR renders twice (once per eye) and has zero tolerance for dropped frames — missing budget causes motion sickness, not just stutter. Standalone headsets (Quest) sit closer to the mobile budgets above. Profile on-device, not in the Editor.

Frame budget = 1000 ms ÷ target FPS. The metric ranges are starting points for a typical URP project, not hard limits — your real budget depends on shader complexity, resolution, and how much CPU time gameplay code needs. Use the Profiler and Frame Debugger to find your bottleneck.

📦 Over budget on draw calls or CPU?

Mesh Baker combines meshes to cut draw calls, and A* Pathfinding Project Pro keeps large numbers of AI agents inside a CPU budget. Both are in our roundup of Asset Store tools worth paying for.

See the recommended optimization tools →