Version: 2020.3
Low-level native plug-in Profiler API
Analyzing profiler traces

Profiling tools

Profiling your application is the best way to measure its performance. You can use a variety of profiling tools to understand where there might be any issues with elements of your application including memory usage, CPU performance, GPU performance, and your custom scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary
.

Unity’s profiling tools

Unity has several profiling tools that you can use to measure the performance of your application:

  • Unity Profiler: Measure the performance of the Unity Editor, your application in Play mode, or connect to a device running your application in development mode.
  • Profiling Core package: Provides APIs that you can use to add contextual information to Unity ProfilerA window that helps you to optimize your game. It shows how much time is spent in the various areas of your game. For example, it can report the percentage of time spent rendering, animating, or in your game logic. More info
    See in Glossary
    captures
  • Memory Profiler: A tool that provides in-depth memory performance analysis
  • Profile Analyzer: Compare two profiling datasets together to analyze how your changes affect your application’s performance.

Third party profiling tools

Alongside the Unity Profiler, you should use platform-specific profilers to ensure that your application runs as expected. The following list provides some examples of available profiling tools. You can also use Unity’s low level native plug-in Profiler API to export profiling data to third-party profiling tools.

These tools have the most utility on platforms that can use IL2CPPA Unity-developed scripting back-end which you can use as an alternative to Mono when building projects for some platforms. More info
See in Glossary
to produce a C++ version of the project. These native-code versions provide transparent call stacks and high-resolution method timings that are unavailable when running under Mono.

Low-level native plug-in Profiler API
Analyzing profiler traces