Unity Profiler
Remarks#
Using Profiler on different Device
There are few importants things to know to properly hook the Profiler on different platforms.
Android
In order to properly attach the profile, “Build and Run” button from the Build Settings window with the option Autoconnect Profiler checked must be used.
Another mandatory option, in Android Player Settings inspector in the Other Settings tab, there is a checkbox Enable Internal profiler which needs to be checked so LogCat will output profiler info.
Using only “Build” will not allow the profiler to connect to an Android device because the “Build and Run” use specific command line arguments to start it with LogCat.
iOS
In order to properly attach the profile, “Build and Run” button from the Build Settings window with the option Autoconnect Profiler checked must be used on the first run.
On iOS, there is no option in player settings that must be set for the Profiler to be enable. It should work out of the box.
Profiler Markup
Using the Profiler Class
One very good practice is to use Profiler.BeginSample and Profiler.EndSample because it will have its own entry in the Profiler Window.
Also, those tag will be stripped out on non-Development build using using ConditionalAttribute, so you don’t need to remove them from your code.
public class SomeClass : MonoBehaviour
{
void SomeFunction()
{
Profiler.BeginSample("SomeClass.SomeFunction");
// Various call made here
Profiler.EndSample();
}
}
This will create an Entry “SomeClass.SomeFunction” in the Profiler Window that will allow easier debugging and identification of Bottle neck.