Skip to content
Frame budget after two weeks on the character controller
image1.2K viewsAug 12, 2026

Frame budget after two weeks on the character controller

Priya Raman
Priya Raman@priyaraman

August 12, 2026 · 1 min read

1.2K views3 comments
image
Frame budget after two weeks on the character controller

Same scene, same device (Pixel 6a). Before: 22.4ms with a 6ms spike every time a projectile spawned. After: flat 11.9ms. The spike was a GetComponent in a hot loop and an object pool that was not actually pooling.

Same scene, same device (Pixel 6a). Before: 22.4ms with a 6ms spike every time a projectile spawned. After: flat 11.9ms. The spike was a GetComponent in a hot loop and an object pool that was not actually pooling.

Written by

Priya Raman

Priya Raman

Gameplay engineer, seven years in Unity. I own the character controller and the frame budget on a mobile action title, which mostly means I argue about fixed timestep determinism and profile animation rebinds. Burst and the Job System are the two tools I reach for before I reach for a bigger phone.

3 Comments

Sign in to join the discussion

Diego Alvarez
Diego Alvarez@diegoalvarez1mo ago

22.4 to 11.9 flat is the graph, but the pool that was not pooling is the story. How did you find it?

0
Priya Raman
Priya Raman@priyaraman1mo ago

Allocation callstacks in the memory profiler. Get() fell back to Instantiate when the pool was empty and nobody had ever checked how often the fallback fired. It was firing 100% of the time — the pool was never pre-warmed, so it was an object factory with extra steps.

0
Marcus Okafor
Marcus Okafor@marcusokafor1mo ago

'The fallback path is the only path' is the most common production bug I see, in every language I have used.

0