Version: 2020.2
  • C#


class in UnityEngine.Profiling


Inherits from:Profiling.Sampler


Implemented in:UnityEngine.CoreModule

Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




Custom CPU Profiler label used for profiling arbitrary code blocks.

Use CustomSampler to measure execution time of script code blocks. Produced information is displayed in the CPU Profiler and can be captured with Recorder.
Using CustomSampler is more efficient than using Profiler.BeginSample to profile your code. This is because CustomSamplers that have been created in advance have very low Begin call overhead compared to Profiler.BeginSample.

using UnityEngine;
using UnityEngine.Profiling;

public class ExampleClass : MonoBehaviour { CustomSampler sampler; void Start() { sampler = CustomSampler.Create("MyCustomSampler"); }

void Update() { sampler.Begin(); // do something that takes a lot of time sampler.End(); } }

CustomSampler.Begin is conditionally compiled away using ConditionalAttribute. Thus it will have zero overhead, when it is deployed in non-Development Build.

See Also: Sampler, CustomSampler.Create, CustomSampler.Begin.

Public Methods

BeginBegin profiling a piece of code with a custom label defined by this instance of CustomSampler.
EndEnd profiling a piece of code with a custom label.

Static Methods

CreateCreates a new CustomSampler for profiling parts of your code.

Inherited Members


isValidReturns true if Sampler is valid. (Read Only)
nameSampler name. (Read Only)

Public Methods

GetRecorderReturns Recorder associated with the Sampler.

Static Methods

GetReturns Sampler object for the specific CPU Profiler label.
GetNamesReturns number and names of all registered Profiler labels.