以下の内容はhttps://baba-s.hatenablog.com/entry/2019/10/28/100000より取得しました。


【Unity】GetComponent と TryGetComponent の違い

GetComponent の場合

using UnityEngine;

public class Example : MonoBehaviour
{
    private void Update()
    {
        var result = GetComponent<Rigidbody>();
        if ( result != null )
        {
        }
    }
}

アタッチされていないコンポーネントを GetComponent すると

f:id:baba_s:20191023170910p:plain

Unity エディタ上でのみ GC Alloc が発生します
(ビルドしたアプリケーションでは GC Alloc は発生しません)

TryGetComponent の場合

using UnityEngine;

public class Example : MonoBehaviour
{
    private void Update()
    {
        if ( TryGetComponent<Rigidbody>( out var result ) )
        {
        }
    }
}

アタッチされていないコンポーネントを TryGetComponent しても

f:id:baba_s:20191023171155p:plain

GC Alloc は発生しません

参考サイト様




以上の内容はhttps://baba-s.hatenablog.com/entry/2019/10/28/100000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14