【Unity】作成したメソッドがアロケーションされてるか調べる

はじめに

作成したメソッドでアロケーションがされてるか調べる方法を定期的に忘れるのでメモ

環境は Unity 2021.3.25f1です

やり方

作成した処理をsampler.Begin();とsampler.End();で囲めば計測ができるようになります

using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Profiling;//CustomSamplerで使用
public class Test : MonoBehaviour
{
    CustomSampler _sampler = CustomSampler.Create("Test");
    void Start()
    {
        TestFnuc();
    }

     void TestFnuc()
    {
        _sampler.Begin();
        // 計測
        List<int> list = new List<int>(100);
        _sampler.End();
    }
}


あとはProfilerを起動して作成したCustomSamplerの名前で検索して見つかったら下の階層に見てGC.Allocをが呼ばれていたらアロケーションされていることがわかります