Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


BeginSample

Begin profiling a piece of code with a custom label.
Read time 2 minutesLast updated 6 days ago

Definition

BeginSample(string)

Begin profiling a piece of code with a custom label.
[Conditional("ENABLE_PROFILER")]public static void BeginSample(string name)

Parameters

name

A string to identify the sample in the Profiler window.

Remarks

The Profiler displays the sample in the Hierarchy and Timeline views. The sample is nested under the events or functional calls that lead to the execution of the sampled code. For example, a sample placed in Update displays under
Update.ScriptRunBehaviourUpdate
in the Profiler Hierarchy and Timeline views. If you supply a
targetObject
, then you can click on the sample in the Profiler Timeline to select that object in the Editor (when profiling from the Editor Play mode).
Profiler.BeginSample is conditionally compiled away using ConditionalAttribute. Thus it will have zero overhead, when it is deployed in non-Development Build.
using UnityEngine;using System.Collections;using UnityEngine.Profiling;public class ExampleClass : MonoBehaviour{ void Example() { Profiler.BeginSample("MyPieceOfCode"); // Code to measure... Profiler.EndSample(); }}
Additional Resources: Profiler.EndSample, ProfilerCPU.

BeginSample(string, Object)

Begin profiling a piece of code with a custom label.
[Conditional("ENABLE_PROFILER")]public static void BeginSample(string name, Object targetObject)

Parameters

name

A string to identify the sample in the Profiler window.

targetObject

An object that provides context to the sample,.

Remarks

The Profiler displays the sample in the Hierarchy and Timeline views. The sample is nested under the events or functional calls that lead to the execution of the sampled code. For example, a sample placed in Update displays under
Update.ScriptRunBehaviourUpdate
in the Profiler Hierarchy and Timeline views. If you supply a
targetObject
, then you can click on the sample in the Profiler Timeline to select that object in the Editor (when profiling from the Editor Play mode).
Profiler.BeginSample is conditionally compiled away using ConditionalAttribute. Thus it will have zero overhead, when it is deployed in non-Development Build.
using UnityEngine;using System.Collections;using UnityEngine.Profiling;public class ExampleClass : MonoBehaviour{ void Example() { Profiler.BeginSample("MyPieceOfCode"); // Code to measure... Profiler.EndSample(); }}
Additional Resources: Profiler.EndSample, ProfilerCPU.