Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Use Unity’s Profiler to turn “the game stutters” into a repeatable capture, identify the work behind a slow frame, and measure whether a change helped. Start with the CPU Usage module, investigate the relevant subsystem, and make release-performance decisions from captures on the target platform—not Editor Play mode alone.
1. Reproduce the problem before profiling
Choose a specific scene, action, camera view, and device condition that reliably produces the slowdown. Keep those conditions consistent for every capture. A repeatable scenario makes it possible to distinguish a real change from ordinary variation.
Open the Profiler using Window > Analysis > Profiler. Menu labels can vary by Unity Editor version. The Profiler charts frame activity and gathers data about areas including CPU, memory, rendering, and audio. Select a representative slow frame or spike and inspect its details; averages can hide the brief frame that causes visible stutter. See Unity’s Profiler overview.
2. Capture on the platform that matters
For a quick first check, Play mode is convenient. But it runs in the Editor’s process, where Editor systems also use CPU, GPU, and memory resources. Treat a Play mode capture as a clue, not final proof. Maximizing the Game view and closing unnecessary Editor windows can reduce interference, but cannot make it equivalent to a standalone Player.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errors#1 Best Overall
Unity’s 2022.2 manual says, “The best way to get accurate timings about your application is to profile it on the end platform you intend to publish it on.” For a connected target Player, that manual requires a Development Build; enable Autoconnect Profiler to connect it to the Editor Profiler. Confirm the equivalent settings and workflow in your own Editor version. See Unity’s 2022.2 guide to profiling an application.
- Build a Development Build for the target platform.
- Enable Autoconnect Profiler if you want the Player to connect to the Editor Profiler automatically.
- Run the same scene, action, view, and device conditions used for the comparison capture.
- Record a representative slow frame or spike, then inspect the relevant module and details.
3. Find the likely subsystem with CPU Usage
Start with CPU Usage, which provides a broad view of per-frame work. Select a slow frame and inspect its detailed data to find the largest relevant contributors. Then narrow the investigation rather than treating every visible sample as a problem.
Rank #2
- Script or engine callback work: inspect CPU Usage details and call paths.
- Rendering workload: inspect the Rendering module’s information, including batching, SetPass and draw calls, triangles, and vertices. High counts are clues to investigate in context, not automatic proof of a bottleneck or universal optimization targets.
- Memory: look at allocation and asset-memory trends in the Memory module. Unity also lists the Memory Profiler as a separate tool for deeper analysis; its package-specific workflow is not covered here.
- GPU work: use GPU Usage when it is supported by the project’s platform and graphics API. Do not infer GPU time from a CPU chart when GPU Usage is unavailable.
- Other areas: choose modules such as audio or physics when the evidence points to those systems.
The Unity 2019.4 Profiler window guide describes using the Profiler’s module charts and selected-frame details; its instructions are version-specific. See Getting started with the Profiler window.
4. Diagnose script cost and managed allocations
When a CPU sample points toward script work, use existing markers and Call Stacks to follow the work behind the sample. For managed allocations, locate GC.Alloc samples and enable Call Stacks to inspect the originating call path. Check whether allocations recur in a hot frame or occur only during loading: a single allocation sample does not by itself establish a frame-time problem.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
If existing markers do not expose the code region you need, add a narrowly scoped ProfilerMarker and capture again. Unity’s profiling API also provides BeginSample and EndSample for marking custom sections. Consult the documentation for your Unity version; the cited API reference is for Unity 6.0.65f1, built 2025-12-15: Profiler scripting API.
5. Use Deep Profile only when focused evidence is not enough
Deep Profile instruments script methods and can reveal more call detail, but it adds substantial overhead and memory use. It may slow the application significantly and can be impractical in complex or large projects. Because the extra instrumentation can change the behavior being measured, do not treat a Deep Profile capture as an ordinary performance baseline.
Rank #4
Prefer existing markers and Call Stacks first; add a focused ProfilerMarker when needed. Turn on Deep Profile temporarily only when those approaches do not answer the diagnostic question. Unity explains the profiling options and their trade-offs in its 2022.2 application profiling guide.
6. Interpret GPU data within its support limits
GPU Usage can show where an application spends GPU time, but availability depends on the platform and graphics API. The cited Unity GPU Usage documentation identifies itself as 2019.4 material, so do not treat its support table as current for every Unity release. Check the manual for the project’s own Editor version and target configuration.
Best Value
That 2019.4 documentation directs users in the listed Metal contexts to Xcode’s GPU Frame Debugger and identifies unsupported Vulkan configurations. If GPU Usage is unavailable, CPU timings alone do not establish how long the GPU took. See Unity’s GPU Usage Profiler module documentation.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.7. Change one suspected cause and verify the result
Once a capture points to a plausible cause, change one thing at a time. Repeat the same scenario on the same target under comparable conditions, then compare the affected frame and relevant Profiler values before and after. If several changes land together, it becomes harder to tell which one affected the result.
Profiling itself has a cost. Unity’s scripting API documentation notes that most Profiler API functionality is available only in Development Builds because profiling negatively affects performance. Treat profiling builds as diagnostic instruments, compare like with like, and separately check a final non-development build where appropriate. A fix is supported by repeatable project measurements and target-device revalidation—not a generic FPS promise.
Quick Recap
- Record the Unity version, target device and platform, build type, scenario, and relevant before-and-after measurements.
- Keep capture conditions consistent and select a representative slow frame, not only an average.
- Recheck on the target device after the change, even if Play mode appears improved.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Free tools Windows power users keep installed
One-click scans. No signup required.

