Unity Profiler assistance
Last modified: 18 February 2025Rider improves performance analysis of Unity Applications by fetching and displaying Unity snapshot data directly in the code editor. It highlights CPU data for class and method declarations as well as for specific usages, allowing you to navigate performance bottlenecks. You can choose between automatic and manual fetch of profiler data with the ability to navigate from the Unity Profiler to Rider with a single click.
Navigate from Unity Profiler to source code
As soon as you connect Rider to Unity Editor, you can explore the source code right from the Unity Profiler window:
Open the Profiler window in the Unity Editor: Window | Analysis | Profiler.
Start the game by clicking the play button either in Unity Editor or in Rider.
Make the necessary actions in the game to invoke the parts of the script that you study.
Stop the game by clicking the play button once again.
Switch the Profiler window into the Hierarchy view, find the desired node in the profiler data tree, and double-click it:
Rider will automatically navigate to the corresponding call in the editor, and will also display the call stack that you can use to navigate other entities in the call hierarchy:
Visualize CPU usage data
Rider can use Unity Profiler data to display CPU usage right in the editor, next to the corresponding class or method.
Before you start
This functionality relies on the Unity Support plugin, which is bundled with the IDE. Make sure that this plugin is enabled on the Plugins settings page CtrlAlt0S.
Displaying snapshot data in the editor relies on Code Vision, Make sure that it is enabled on the Editor | Code Vision page of JetBrains Rider settings CtrlAlt0S.
By default, JetBrains Rider does not fetch snapshot data from Unity profiler. To enable it, use the Fetch profiler snapshot: selector on the Languages & Frameworks | Unity Engine page of JetBrains Rider settings CtrlAlt0S and use the desired fetch mode:
Automatically — fetches snapshot data and update editor hints whenever a new frame is selected in the Unity Profiler.
Manually — alerts when new snapshot data is available. You can then fetch it in any convenient moment by clicking the editor widget:
As soon as the Unity profiling session is over, Rider will show CPU data for all entities involved in the profiler snapshot. If the automatic fetching mode is enabled, the metrics will be updated each time you choose a new frame in the Unity Profiler window timeline. In the manual mode, you will need to click the editor widget to update the metrics.
By hovering the metric, you can see the detailed information:

CPU data visualization limitations
Fetching Unity Profiler data is currently experimental and is disabled by default.
Rider fetches snapshot data only from the Main thread.
Currently, only CPU data is fetched.
Unity Profiler doesn't distinguish multiple calls of the same method in one place, so the same information will be displayed for each call.
Troubleshooting
This section provides solutions to common issues you might encounter when working with Unity Profiler assistance in JetBrains Rider.
Why does the profiling data not appear in Rider?
If the profiling data from Unity Profiler does not appear in JetBrains Rider, check the following:
Ensure that Unity Editor is correctly connected to JetBrains Rider:
Follow the steps in Setting up Rider with Unity to confirm the Unity Editor is linked to your IDE.
Check the Unity Support plugin:
Go to the Plugins settings page CtrlAlt0S, and ensure the Unity Support plugin is enabled.
Verify profiler fetching mode:
Ensure that the profiler fetching mode is not set to Disabled. You can configure this option on the Languages & Frameworks | Unity Engine settings page CtrlAlt0S.
Why is only CPU data available?
Currently, JetBrains Rider only supports fetching CPU profiling data from Unity Profiler. Other data types such as GPU or memory usage are not yet integrated.
tip
Stay updated with new releases of JetBrains Rider for future support of additional profiling data types.
Why are metrics the same for multiple method calls?
The Unity Profiler does not distinguish multiple calls to the same method at the same location. As a result, JetBrains Rider displays the same performance metrics for each occurrence of the call.
tip
To isolate performance data, consider splitting the method into smaller, distinct functions or using logging statements to track execution manually.
Why is the Profiler data update delayed?
If you notice delays in updating profiler data in JetBrains Rider, consider the following:
Check the fetching mode: If you are using Manual fetching mode, you will need to manually trigger updates by clicking the editor widget.
Check connection stability: Ensure that the communication between Unity Editor and JetBrains Rider is stable. Reconnect if needed.
Profiling data shows incorrect thread information
Currently, JetBrains Rider fetches snapshot data only from the Main thread. It does not support profiling data for other Unity threads.
tip
If thread-based profiling is required for your workflow, consider using external tools like Unity's dedicated thread analysis features in the Profiler.