Programming & Scripting Errors Mar 15, 2026

Unity Profiler Not Showing Data - Performance Analysis Fix (How to Fix)

Unity Profiler window empty or no frame data? Fix Profiler not showing CPU, memory, or GPU data with this step-by-step troubleshooting guide.

By GamineAI Team

Unity Profiler Not Showing Data - Performance Analysis Fix (How to Fix)

Problem Statement

The Unity Profiler window is empty, shows "No frame data available", or does not display CPU, memory, GPU, or other module data when you expect it to. You may have entered Play mode or attached to a build but the Profiler stays blank or grey. This blocks performance analysis, frame-time debugging, and memory profiling.

Common symptoms:

  • Profiler window opens but shows no graphs or timeline data
  • "No frame data available" or similar message in the Profiler
  • CPU Usage, Memory, or other modules show no bars or values
  • Profiler worked before and stopped after a Unity update or project change
  • Development build or Editor play mode does not feed data to the Profiler

Root Cause Explanation

The Profiler depends on:

  • Recording state – The Profiler must be recording and the correct target (Editor or a running Player) must be selected. If recording is off or the target is wrong, no data is collected.
  • Profiler enabled – The Profiler can be disabled via script or preference; when disabled, no data is sent.
  • System resources – Very low RAM or heavy load can prevent the Profiler from receiving or displaying data; Unity may show a red memory warning.
  • Build and connection – For development builds, the Profiler must connect to the running player; "Autoconnect Profiler" and the correct "Attach to Player" target must be set.
  • Deep Profiling – Enabling Deep Profiling can increase overhead; in some setups it can affect data flow. Try with it off first.

This guide walks you through checks and fixes so the Profiler shows data reliably.


Quick Fixes (Try These First)

1. Ensure the Profiler Is Recording and the Right Target Is Selected

If the Profiler is not recording or is attached to the wrong target, you will see no data.

Steps:

  1. Open Window > Analysis > Profiler (or Window > General > Profiler in some Unity versions).
  2. Check that the Record button (red dot) is on – the Profiler should be recording. If it is grey or off, click it to start recording.
  3. In the Active Profiler dropdown at the top, ensure Playmode or Editor is selected when profiling the Editor, or select your development build (e.g. "Player (Unity)") when profiling a running build.
  4. Enter Play mode (or run your development build). The timeline should start filling with frames.

Verification: You should see frame bars in the CPU Usage (or other) area and a timeline. If the dropdown does not list your player, see the development build section below.

If still no data: Continue to the next step.

2. Enable the Profiler via Script or Preference

The Profiler can be turned off programmatically or by a preference. Re-enable it.

Steps:

  1. In the Profiler window, check the Enable checkbox or Profiler menu – ensure profiling is enabled.
  2. If you have code that disables the Profiler (e.g. Profiler.enable = false or ProfilerDriver.enable = false), remove or guard it in development builds so the Profiler can run.
  3. Editor-only re-enable (one-time): In the Console or a temporary menu item, run:
    • UnityEngine.Profiler.enable = true;
    • In the Editor you can also use UnityEditorInternal.ProfilerDriver.enable = true and ensure the CPU area is enabled: UnityEngine.Profiler.SetAreaEnabled(UnityEngine.Profiling.ProfilerArea.CPU, true);
  4. Restart Unity if the Profiler was disabled at startup; then open the Profiler, start recording, and enter Play mode again.

Verification: After enabling and entering Play mode with recording on, data should appear. If not, try the next step.

3. Free Up Memory and Reduce Load

Low system memory or an overloaded machine can prevent the Profiler from receiving or drawing data.

Steps:

  1. Check for a red memory warning in the Unity status bar or Profiler. If present, close other applications, reduce project load, or increase available RAM.
  2. Disable Deep Profiling – In the Profiler, turn off Deep Profiling if it is on. Deep Profiling adds overhead and can sometimes cause issues; use it only when you need detailed hierarchy.
  3. Reduce modules – Disable Profiler modules you do not need (e.g. turn off GPU or Rendering temporarily) to reduce overhead.
  4. Restart Unity and try again with a minimal scene (e.g. empty scene with one GameObject).

Verification: With more memory and less overhead, the Profiler may start showing data. If the problem persists, continue.

4. Toggle Recording and Modules

Sometimes the Profiler gets into a state where it stops updating. Reset its state.

Steps:

  1. Stop recording (click the Record button so it is off), then start recording again.
  2. Switch Active Profiler between Playmode and Editor (if applicable), then back.
  3. In the Profiler, disable the CPU Usage module (or the main module you use), then enable it again.
  4. Enter Play mode again and check if data appears.

Verification: The timeline and modules should update. If not, try resetting the window layout (Window > Layouts > Default or Revert).

5. Development Build – Attach to Player and Autoconnect

When profiling a development build (not the Editor), the Profiler must connect to the running player.

Steps:

  1. Build with Development Build checked (File > Build Settings > Development Build).
  2. Optionally enable Autoconnect Profiler in Build Settings so the Profiler attaches when the build runs.
  3. Run the build, then in the Unity Editor open the Profiler. In the Active Profiler dropdown, select your Player (e.g. "Player (Unity)" or the name of your executable).
  4. Ensure Record is on. Data from the player should stream into the Profiler.

Verification: You should see frame data from the build. If the player does not appear in the dropdown, check firewall, same machine vs remote, and that the build is actually running. See Unity documentation on Profiler connection.

6. Reset Window Layout and Reopen Profiler

A corrupted or misconfigured window layout can make the Profiler appear blank.

Steps:

  1. Window > Layouts > Default (or Revert Layout / Reset Window Layout in your Unity version).
  2. Reopen Window > Analysis > Profiler (or General > Profiler).
  3. Start recording and enter Play mode again.

Verification: The Profiler window should show its normal panels and, when recording and in Play mode, fill with data.


Alternative Fixes (Edge Cases)

  • Profile Analyzer – If you use the Profile Analyzer package and pull data from a recording, stop the Profiler recording before clicking Pull Data. Pulling while recording can result in empty or grey data.
  • Remote profiling – When profiling a device or another PC, ensure the correct target is selected and that firewall/network allows the connection. Check Unity docs for remote profiling requirements.
  • First open – The Profiler window can appear blank when first opened until you start recording and the application is running. Always start recording and enter Play mode (or run the build) to see data.

Prevention Tips

  • Leave the Profiler enabled and recording only when you need it; disable when not profiling to avoid minor overhead.
  • Use Development Builds with Autoconnect Profiler when you need to profile a build. Avoid disabling the Profiler in release builds via script unless intended.
  • Keep enough free system memory when profiling large projects. Close other heavy applications if you see memory warnings.

Related Problems and Links

Bookmark this fix for quick reference when the Profiler stops showing data. If you are still stuck, check our Unity guides for more on debugging and performance. Share this article with your dev friends if it helped.