Convert target FPS to a frame interval and try example time allocations.
At 60 FPS, the frame interval is 16.67 milliseconds. CPU and GPU work can overlap, so their timings should be measured separately. Use the example allocations below as a planning exercise, then adjust them using profiling data from your game.
Target FPS:
Custom:
16.67 ms per frame
at 60 FPS
Example allocations, editable below. Total: 100% of the frame interval. These are planning targets, not recommended percentages or measured CPU/GPU timings.
3.3ms
2.5ms
6.7ms
1.7ms
1.7ms
Game Logic3.33 msAI, state machines, spawning, inventory
For 60fps mobile, you have about 16.6ms per frame total. Aim for a CPU budget of 8-10ms and a GPU budget of 8-10ms, with 2-3ms of headroom for thermal throttling and OS overhead. For 30fps, double those numbers.
How do I measure my actual frame time in Unity?+
Use the Unity Profiler (Window > Analysis > Profiler) connected to a build on the target device. The CPU usage track shows main thread time per frame; the GPU track shows GPU time. Avoid measuring in the Editor because Editor overhead distorts the numbers.
What frame rate should I target for VR?+
Quest 2 and 3 target 72fps minimum (13.9ms budget) and ideally 90fps (11.1ms budget). PCVR headsets typically target 90fps. Dropping below the target causes reprojection artefacts and sickness, so VR budgets are stricter than flat-screen budgets.
How much of the frame budget should rendering use?+
A common split is 40% rendering, 30% game logic, 20% physics and animation, 10% headroom. This varies wildly by genre. Open-world games often spend more on streaming; multiplayer games spend more on networking. Profile before assuming.