こんにちわ、Unityエンジニアのオオバです。

UnityEngine.Object.nameするだけで、ヒープ領域を毎回確保するようです。
Unityのプロファイラを見てて気づきました。

以下オオバの環境における実績。

iPhone6sによる実機プロファイラでの結果

UnityEngine.Object.nameアクセスするとGC Allocされる件_0

Unityエディタ上におけるプロファイラの結果(Deep Profile使用)

UnityEngine.Object.nameアクセスするとGC Allocされる件_1

if (this.name == "hoge"){}  

上記のようにコンポーネントやGameObjectの名前を比較対象としてほげほげすることはよくある処理なので、毎フレーム実行している箇所がある場合は、nameをキャッシュして使用するのが良いかと思われます。

なぜ、こうなっちゃうのか原因を追ってもネイティブ側の処理なので分かりません。
.nameは使用箇所によっては見直そう!

期間限定 最大95%オフセール
効率UPメガバンドル開催中!最大95%オフ!!!
期間 : 11月1日午後15時59分まで
オススメ記事
検証環境