Version: Unity 6 (6000.0)
Language : English
Profiler markers reference
Profiling tools

Profiler counters reference

Unity has built-in profiler countersPlaced in code with the ProfilerCounter API to track metrics, such as the number of enemies spawned in your game. More info
See in Glossary
which you can use to collect and display metrics in custom 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
modules. The following tables outline the available built-in profiler counters. This information is also available via the ProfilerRecorder API and in the Profiler module editor so you can add them to a custom Profiler module. The following tables contain a list of profiler counters available in Unity:

File access profiler counters

The available file access profiler counters and availability in release (non-development) players are as follows:

Profiler counter Description Availability in release (non-development) players
File Bytes Read Total number of bytes of information Unity read from this file during the selected frames. Unavailable
File Bytes Written Total number of bytes of information Unity wrote to this file during the selected frames. Unavailable
File Handles Open The total number of file handles held open at any time during this frame. This includes files that Unity opens and closes within the same frame. Unavailable
File Reads Finished Number of file reads completed during this frame. Unavailable
File Reads Started Number of file reads started during this frame Unavailable
File Seeks The number of file seek operations performed in the local file system this frame. A file seek operation involves a search through the contents of a file. Unavailable
Files Closed The total number of files successfully closed in the local file system this frame. Unavailable
Files Opened The total number of files successfully opened in the local file system this frame. Unavailable
Reads in Flight The total number of read operations that were in progress during this frame. Unavailable

For more information about collecting file access data, refer to File Access Profiler module reference.

Asset loading profiler counters

The available asset loading profiler counters and availability in release (non-development) players are as follows:

Profiler counter Description Availability in release (non-development) players
Audio Reads The number of bytes requested from the AsyncReadManager for an audio load. Unavailable
Entities Reads The number of bytes requested from the AsyncReadManager by 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
in the Entities package.
Unavailable
Mesh Reads The number of bytes requested from the AsyncReadManager for a meshThe main graphics primitive of Unity. Meshes make up a large part of your 3D worlds. Unity supports triangulated or Quadrangulated polygon meshes. Nurbs, Nurms, Subdiv surfaces must be converted to polygons. More info
See in Glossary
load.
Unavailable
Other Reads The number of bytes requested from the AsyncReadManager for an unspecified subsystem. Unavailable
Scripting Reads The number of bytes requested from the AsyncReadManager via the scripting API. Unavailable
Texture Reads The number of bytes requested from the AsyncReadManager for a texture load. Unavailable
Virtual Texture Reads The number of bytes requested from the AsyncReadManager for Virtual Texturing. Unavailable

For more information about collecting asset data, refer to Asset Loading Profiler module reference.

Memory profiler counters

The following table outlines the available memory profiler counters and availability in release (non-development) players.

Tip: You can use the Object.FindObjectsByType method to find objects of specific types, and then pass this information to Profiler.GetRuntimeMemorySizeLong to get their memory amount and then implement this information in release players. For example, to get the counters for Mesh Count or Mesh Memory, use Object.FindObjectsByType<Mesh>().length and then pass these entries to GetRunTimeMemorySizeLong.

GetRunTimeMemorySizeLong has an impact on performance, and doesn’t provide graphics memory amounts in release builds.

Profiler counter Description Availability in release (non-development) players
AnimationClip Count The total count of loaded AnimationClips. Unavailable
AnimationClip Memory The total amount of memory loaded AnimationClips used in bytes. Unavailable
App Committed Memory The total amount of committed memory according to the operating system of the platform in bytes. Available
App Resident Memory The total amount of resident memory according to the operating system of the platform in bytes. Available
Asset Count The total number of loaded assets. Unavailable
Audio Reserved Memory The Audio system’s estimated reserved memory in bytes. Available
Audio Used Memory The Audio system’s estimated memory usage in bytes. Available
AudioClip Count The total count of loaded AudioClips. Unavailable
AudioClip Memory The total amount of memory loaded AudioClips used in bytes. Unavailable
GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info
See in Glossary
Count
The total number of GameObject instances in the sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary
.
Unavailable
GC Allocated In Frame The total size of the managed allocations in the selected frame in bytes. Unavailable
GC Allocation In Frame Count The amount of managed allocations in the selected frame. Unavailable
GC Reserved Memory The total heap size reserved for managed code in bytes. This memory is garbage collected. Available
GC Used Memory The used heap size that managed code uses in bytes. This memory is garbage collected. Available
Gfx Reserved Memory The estimated amount of reserved memory for Textures, render targets, ShadersA program that runs on the GPU. More info
See in Glossary
, and Mesh data in bytes.
Unavailable
Gfx Used Memory The estimated amount of memory the driver uses on Textures, render targets, Shaders, and Mesh data in bytes. Unavailable
Material Count The total count of loaded materials. Unavailable
Material Memory The total amount of memory loaded materials used in bytes. Unavailable
Mesh Count The total count of loaded Meshes. Unavailable
Mesh Memory The total amount of memory loaded Meshes used in bytes. Unavailable
Object Count The number of native object instances in your application. Unavailable
Physics Used Memory The total amount of memory that the physics system used in bytes. Unavailable
Physics Reserved Memory(2D) The total amount of memory that the 2D physics system reserved in bytes. Unavailable
Profiler Reserved Memory The memory that the Profiler functionality reserves from the system in bytes. Available
Profiler Used Memory The memory that the Profiler functionality uses in bytes. Available
Scene Object Count The total number of dynamic UnityEngine.Object instances. This number includes the GameObject Count counter, plus the total number of components, and everything which isn’t an asset in the scene. Unavailable
System Total Used Memory The total memory used by all applications running on the device in bytes. Available
System Used Memory The total amount of resident memory according to the operating system of the platform in bytes. This value is the same as the App Resident Memory value. Available
Texture Count The total count of loaded textures Unavailable
Texture Memory The total amount of memory loaded textures used in bytes. Unavailable
Total Reserved Memory The total memory reserved in the operating system for your application in bytes. Available
Total Used Memory The total memory your application used in bytes. Available
Video Reserved Memory The Video system’s estimated reserved memory in bytes. Available
Video Used Memory The Video system’s estimated memory usage in bytes. Available

For more information about collecting memory data, refer to Memory performance data.

Physics profiler counters

The available physics profiler counters and availability in release (non-development) players are as follows:

Profiler counter Description Availability in release (non-development) players
Active Constraints The number of primitive constraints the physics system has processed. Unavailable
Active Dynamic Bodies The number of RigidbodyA component that allows a GameObject to be affected by simulated gravity and other forces. More info
See in Glossary
components and ArticulationBody components that aren’t in a sleep state.
Unavailable
Active Kinematic Bodies The number of active Kinematic Rigidbody components. Unavailable
Articulation Bodies The number of ArticulationBody components in the scene Unavailable
Broadphase Adds The total number of colliders that the broadphase algorithm added. Unavailable
Broadphase Adds/Removes The total number of colliders that the broadphase algorithm either added or removed. Unavailable
Broadphase Removes The total number of colliders that the broadphase algorithm removed. Unavailable
Colliders Synced The amount of colliders synced with Transforms. Unavailable
Continuous Overlaps The number of overlap events which Unity used continuous collisionA collision occurs when the physics engine detects that the colliders of two GameObjects make contact or overlap, when at least one has a Rigidbody component and is in motion. More info
See in Glossary
detection to solve.
Unavailable
Discreet Overlaps The number of overlap events which Unity used discrete collision detectionAn automatic process performed by Unity which determines whether a moving GameObject with a Rigidbody and collider component has come into contact with any other colliders. More info
See in Glossary
to solve.
Unavailable
Dynamic Bodies The number of Rigidbody components and ArticulationBody components. Unavailable
Modified Overlaps The number of overlap events which Unity used the Contact Modification API to modify. Unavailable
Narrowphase Lost Touches The total amount of collision events that were lost since the previous frame. Unavailable
Narrowphase New Touches The total amount of collision events that appeared as new since the previous frame. Unavailable
Narrowphase Touches The total amount of collision events that were either lost or appeared as new since the previous frame. Unavailable
Overlaps The number of overlap events. An overlapping event is when colliders overlap with each other. Unavailable
Physics Queries The total amount of physics queries, such as Raycasts and shapecasts. Unavailable
Rigidbodies Synced The amount of Rigidbody components synced with Transforms. Unavailable
Static Colliders The number of collidersAn invisible shape that is used to handle physical collisions for an object. A collider doesn’t need to be exactly the same shape as the object’s mesh - a rough approximation is often more efficient and indistinguishable in gameplay. More info
See in Glossary
that don’t have a Rigidbody or ArticulationBody component
Unavailable
Trigger Overlaps The number of overlap events with trigger colliders (counted in pairs). Unavailable

For more information about collecting physics data, refer to Physics Profiler module reference.

2D Physics profiler counters

The available 2D physics profiler counters and availability in release (non-development) players are as follows:

Profiler counter Description Availability in release (non-development) players
Added Contacts The number of contacts added in this frame. This includes both Collision and Trigger contacts. Unavailable
Asleep Bodies The number of Rigidbody2D that were sleeping (not awake) and present in this frame. Unavailable
Asleep Shapes The number of physics shapes that were sleeping (not awake) and present in this frame. Unavailable
Awake Bodies The number of Rigidbody2D that were awake and present in this frame. Unavailable
Awake Shapes The number of physics shapes that were awake and present in this frame. Unavailable
Broadphase Pairs The number of broadphase pairs that the physics system processed in this frame. Unavailable
Broadphase Updates The number of broadphase updates that the physics system processed in this frame. Unavailable
Collision Enter The number of OnCollisionEnter2D callbacks that the physics system called in this frame. Unavailable
Collision Exit The number of OnCollisionExit2D callbacks that the physics system called in this frame. Unavailable
Collision Stay The number of OnCollisionStay2D callbacks that the physics system called in this frame. Unavailable
Continuous Bodies The number of Rigidbody2D with a Continuous collision detection mode that were present in this frame. Unavailable
Discrete Bodies The number of Rigidbody2D with a Discrete collision detection mode that were present in this frame. Unavailable
Dynamic Bodies The number of Rigidbody2D with a Dynamic body typeDefines a fixed behavior for a 2D Rigidbody. Can be Dynamic (the body moves under simulation and is affected by forces like gravity), Kinematic (the body moves under simulation, but and isn’t affected by forces like gravity) or Static (the body doesn’t move under simulation). More info
See in Glossary
that were present in this frame.
Unavailable
Dynamic Shapes The number of physics shapes that were both Dynamic and were present in this frame. Unavailable
GetContacts Queries The number of contact retrieval queries that the physics system called this frame. This includes queries such as Physics2D.GetContacts, Collider2D.GetContacts, and Rigidbody2D.GetContacts. Unavailable
IsTouching Queries The number of contact touching queries that the physics system called this frame. This includes queries such as Physics2D.IsTouching, Collider2D.IsTouching, and Rigidbody2D.IsTouching. Unavailable
Kinematic Bodies The number of Rigidbody2D with a Kinematic body type that were present in this frame. Unavailable
Overlap Queries The number of overlap queries that the physics system called this frame. This includes queries such as Physics2D.OverlapPoint, Physics2D.OverlapCircle, and Collider2D.OverlapCollider. Unavailable
Particle Queries The number of queries that the Particle SystemA component that simulates fluid entities such as liquids, clouds and flames by generating and animating large numbers of small 2D images in the scene. More info
See in Glossary
called in this frame.
Unavailable
Raycast Queries The number of ray or line based queries that the physics system called this frame. This includes queries such as Physics2D.Raycast and Physics2D.Linecast. Unavailable
Removed Contacts The number of contacts that the physics system removed in this frame. This includes both Collision and Trigger contacts. Unavailable
Shapecast Queries The number of shape swept queries that the physics system called this frame. This includes queries such as Physics2D.BoxCast, Physics2D.CircleCast, and Collider2D.Cast. Unavailable
Solver Continuous Islands The number of islands solved when handling the continuous solving step. Unavailable
Solver Discrete Islands The number of contact islands solved when handling the discrete solving step. Unavailable
Solver Simulation Count The number of times Unity simulated all physics scenes automatically, or by calling Physics2D.Simulate or PhysicsScene2D.Simulate. Unavailable
Solver World Count The total number of physics scenes that were present in this frame. Unavailable
Static Bodies The number of Rigidbody2D with a Static body type that were present in this frame. Unavailable
Static The number of physics shapes that were both Static and were present in this frame. Unavailable
Total Bodies The total number of Rigidbody2D that were present in this frame. Unavailable
Total Callbacks The total number of OnCollisionEnter2D, OnCollisionStay2D, OnCollisionExit2D, OnTriggerEnter2D, OnTriggerStay2D and OnTriggerExit2D callbacks that the physics system called in this frame. Unavailable
Total Contacts The total number of contacts that were present in this frame. This includes both Collision and Trigger contacts. Unavailable
Total JointsA physics component allowing a dynamic connection between Rigidbody components, usually allowing some degree of movement such as a hinge. More info
See in Glossary
The total number of any Joint2D that were present in this frame. Unavailable
Total Shapes The total number of physics shapes that were present in this frame. Unavailable
Total Queries The total number of queries that the physics system called this frame. This includes queries such as Physics2D.Raycast and Physics2D.OverlapPoint Unavailable
Total Transform Sync Calls The total number of Transform sync calls that the physics system called in this frame. Unavailable
Transform Parent Sync Bodies The number of Rigidbody2D that were affected by a Transform sync caused by reparenting a Transform. Unavailable
Transform Parent Sync Colliders The number of Collider2D that were affected by a Transform sync caused by reparenting a Transform. Unavailable
Transform Sync Bodies The number of Rigidbody2D that were affected by a Transform sync. Unavailable
Transform Sync Colliders The number of Collider2D that were affected by a Transform sync. Unavailable
Trigger Enter The number of OnTriggerEnter2D callbacks that were called in this frame. Unavailable
Trigger Exit The number of OnTriggerExit2D callbacks that were called in this frame. Unavailable
Trigger Stay The number of OnTriggerStay2D callbacks that were called in this frame. Unavailable

For more information about collecting 2D physics data, refer to 2D Physics Profiler module reference.

Rendering profiler counters

The available rendering profiler counters and availability in release (non-development) players are as follows:

Profiler counter Description Availability in release (non-development) players
Batches Count The total number of batches Unity processed during a frame. This number includes both static and dynamic batches. Available
CPU Main Thread Frame Time The time between the start of the frame and the time when the Main Thread finished the work it performed during that frame, in milliseconds. Available
CPU Render Thread Frame Time The time between the start of the work on the Render Thread and when Unity calls the Present method, in milliseconds. Available
CPU Total Frame Time The total CPU frame time, in milliseconds. Unity calculates this as the time between the ends of two frames, including any overheads or time spent waiting between frames. Available
Draw Calls Count The total number of draw calls Unity issued during a frame. Available
Dynamic Batched Draw Calls Count The number of draw calls Unity combined into dynamic batches. Unavailable
Dynamic Batched Triangles Count The number of triangles in the GameObjects included in the dynamic batches. Unavailable
Dynamic Batched Vertices Count The number of vertices in the GameObjects included in the dynamic batches. Unavailable
Dynamic Batches Count The number of dynamic batches Unity processed during the frame. Unavailable
Dynamic BatchingAn automatic Unity process which attempts to render multiple meshes as if they were a single mesh for optimized graphics performance. The technique transforms all of the GameObject vertices on the CPU and groups many similar vertices together. More info
See in Glossary
Time
The time Unity spent creating dynamic batching structures. Unavailable
GPU Frame Time The time difference between the beginning and the end of the GPU rendering a single frame, in milliseconds. Available
Index Buffer Upload In Frame Bytes The amount of geometry that the CPU uploaded to the GPU in bytes. Available
Index Buffer Upload In Frame Count The amount of geometry that the CPU uploaded to the GPU in the frame. Available
Instanced Batched Draw Calls Count The number of draw calls Unity combined into instance batches. Unavailable
Instanced Batched Triangles Count The number of triangles in the instanced GameObjects. Unavailable
Instanced Batched Vertices Count The number of vertices in the instanced GameObjects. Unavailable
Instanced Batches Count The number of batches Unity processed to render instanced GameObjects during a frame. Unavailable
Render TexturesA special type of Texture that is created and updated at runtime. To use them, first create a new Render Texture and designate one of your Cameras to render into it. Then you can use the Render Texture in a Material just like a regular Texture. More info
See in Glossary
Bytes
The amount of memory the RenderTextures used in bytes. Available
Render Textures Changes Count The number of times Unity set one or multiple RenderTextures as render targets during the frame. Available
Render Textures Count The number of RenderTextures Unity used during the frame. Available
SetPass Calls Count The number of times Unity switched which shader pass it used to render GameObjects during a frame. Available
Shadow Casters Count The number of GameObjects that cast shadows in a frame. If a GameObject casts multiple shadows (because multiple lights light it), it has one entry per shadow it casts. Available
Static Batched Draw Calls Count The number of draw calls Unity combined into static batches. Unavailable
Static Batched Triangles Count The number of triangles in the GameObjects included in the static batches. Unavailable
Static Batched Vertices Count The number of vertices in the GameObjects included in the static batches. Unavailable
Static Batches Count The number of static batches Unity processed during a frame. Unavailable
Triangles Count The number of triangles Unity processed during a frame. Available
Used Buffers Bytes The amount of memory GPU buffers used in bytes. Available
Used Buffers Count The total number of GPU buffers. This includes vertex, index and compute buffers and all internal buffers required for rendering. Available
Used Textures Bytes The amount of memory the textures used in bytes. Unavailable
Used Textures Count The number of texturesAn image used when rendering a GameObject, Sprite, or UI element. Textures are often applied to the surface of a mesh to give it visual detail. More info
See in Glossary
Unity used during the frame.
Unavailable
Vertex Buffer Upload In Frame Bytes The amount of geometry that the CPU uploaded to the GPU in bytes. Available
Vertex Buffer Upload In Frame Count The amount of geometry that the CPU uploaded to the GPU in the frame. Available
Vertices Count The number of vertices Unity processed during the frame. Available
Video Memory Bytes The amount of system memory the video in your application used in bytes. Available
Visible Skinned Meshes Count The number of Skinned Mesh Renderers in the frame. Available

For more information about collecting rendering data, refer to Rendering Profiler module reference.

Virtual texturing profiler counters

The available virtual texturing profiler counters and availability in release (non-development) players are as follows:

Profiler counter Description Availability in release (non-development) players
Atlases The number of virtual texture spaces or atlases (maximum of 64). Unavailable
Max Cache Demand The highest cache demand of all GPU caches in the selected frame. Unavailable
Max Cache Mip Bias The automatic mipmap bias applied to all textures with the same texture formatA file format for handling textures during real-time rendering by 3D graphics hardware, such as a graphics card or mobile device. More info
See in Glossary
. If this value isn’t zero, then the cache isn’t large enough to hold all the tiles of that format that are visible. The higher the mipmap bias, the lower the texture quality.
Unavailable
Missing Disk Data The remaining data (in bytes) that your application needed to read from the disk to satisfy the selected frame. Unavailable
Missing Streaming Tiles The number of tiles that were visible on the screen but weren’t in video memory. Unavailable
Read From Disk The number of bytes of disk read operations that Unity completed in the selected frame. Unavailable
Required Tiles The number of texture tiles that were visible on screen. These are the tiles that the shaders tried to sample to render the selected frame. Unavailable
Total CPU Cache Size The amount of memory that Unity allocated to store texture tiles after it loaded them from disk. Unavailable
Total GPU Cache Size The size of all GPU caches that the Virtual Texturing module allocated in the selected frame. Unavailable

For more information about collecting virtual texturing data, refer to Virtual Texturing module reference.

Additional resources

Profiler markers reference
Profiling tools