Unity では 以下のような拡張メソッドを利用して Transform の位置を変更することがあるが
これを何度か呼んだ場合 GC がどうなってるかを調べる
public static class TransformExtension { public static void SetPositionY(this Transform self, float value) { var pos = self.transform.position; pos.y = value; self.transform.position = pos; } }
GC の確認
Update
で毎フレーム position を変更する処理を呼び出してみる
private void Update() { transform.SetPositionY(10f); transform.SetPositionX(10f); }
確認したところ初回 の transform.position のアクセス時に 48B の GC があったものの
それ以降何度アクセスしても GC は 0 でした