参照をキャッシュする

よく使うコンポーネントの参照をキャッシュする

繰り返し呼び出して使う値は、こんな感じに書いておくと短い記述でかつ負荷も少なく呼び出す事ができるようになります。

private RectTransform m_RectTransform;
private RectTransform rectTransform => m_RectTransform ?? (m_RectTransform = transform as RectTransform);

RectTransform以外ではGetComponentして呼び出したりする事も可能です。 CanvasGroupとかCapsuleColliderとか、良く呼びそうなコンポーネントはこうしておくと良さそう。

private CanvasGroup m_CanvasGroup;
private CanvasGroup canvasGroup => m_CanvasGroup ?? (m_CanvasGroup = gameObject.GetComponent<CanvasGroup>());
private CapsuleCollider m_CapsuleCollider;
private CapsuleCollider capsuleCollider => m_CapsuleCollider ?? (m_CapsuleCollider = gameObject.GetComponent<CapsuleCollider>());

入れ子になっているコンポーネントの参照をキャッシュする

入れ子になっているコンポーネントもこんな感じで呼ぶ事が可能です。

private Animator m_Animator;
private Animator animator => m_Animator ?? (m_Animator = gameObject.GetComponentInChildren<Animator>());