Overview
The Unity Profiler is the engine’s main performance-inspection tool. It measures frame time and subsystem cost across CPU, GPU, rendering, memory, physics, audio, and more. In current Unity guidance, the Profiler sits inside a broader toolkit that also includes the Memory Profiler, Profile Analyzer, and Frame Debugger. (Unity, Ultimate Guide to Profiling Unity Games, see source-unity-profiling-guide; Unity, Optimize Performance for Mobile, XR, and Web Games, see source-unity-performance-mobile-xr-web)
Setup
Typical workflow:
- Open the Profiler window in the Unity Editor.
- Prefer profiling a development build on the target device rather than trusting Editor numbers alone.
- Choose the relevant modules: CPU, GPU, Rendering, Memory, Physics, or Audio.
- Record a representative gameplay segment.
- Use other tools when needed:
- Memory Profiler for snapshot-based memory analysis
- Profile Analyzer to compare captures
- Frame Debugger for draw-call and render-step inspection
Usage
Good profiling workflow usually means:
- start broad to identify the bottleneck class
- drill into specific modules and markers
- profile again after changes
- compare before/after captures rather than trusting intuition
Useful heuristics:
- use Profiler markers to expose important custom systems
- use Deep Profiling sparingly because it adds heavy overhead
- use the Frame Debugger when the problem looks rendering-related
- treat memory as a first-class concern, not an afterthought
Gotchas
- Editor profiling can mislead; device profiling matters.
- Deep Profiling is diagnostic, not something to leave on all the time.
- A single bad frame is not enough evidence; look for repeatable patterns across captures.
- “Optimisation” without a measured bottleneck often wastes time.
Related
unity-urp-overview · shader-graph-overview · unity-pixel-art-pipeline · source-unity-profiling-guide · source-unity-performance-mobile-xr-web