I had to time some C# code within a function in Unity3D. Without the professional version of Unity, you don't have a profiler. The code I used was the following:
long startTime = DateTime.UtcNow.Ticks; // some code you want to time long now = DateTime.UtcNow.Ticks; long tm1 = now - startTime; startTime = now; // more code you want to time now = DateTime.UtcNow.Ticks; long tm2 = now - startTime; startTime = now; // etc Debug.Log("tm1 = " + tm1); Debug.Log("tm2 = " + tm2);
This worked for me and enable me to determine which part of the code was taking the time (not the part that I was expecting!).
There may be better ways to do this, but this worked for me.