GetComponent の場合
using UnityEngine; public class Example : MonoBehaviour { private void Update() { var result = GetComponent<Rigidbody>(); if ( result != null ) { } } }
アタッチされていないコンポーネントを GetComponent すると
Unity エディタ上でのみ GC Alloc が発生します
(ビルドしたアプリケーションでは GC Alloc は発生しません)
TryGetComponent の場合
using UnityEngine; public class Example : MonoBehaviour { private void Update() { if ( TryGetComponent<Rigidbody>( out var result ) ) { } } }
アタッチされていないコンポーネントを TryGetComponent しても
GC Alloc は発生しません