GetComponent<> consolidation

In general, DO NOT use Find-like or GetComponent/AddComponent-like methods unless there truly is no other way, eg, dynamic runtime discovery of arbitrary objects.

These mechanisms are for extremely-advanced use ONLY.

More information: Regarding GameObject.Find · UnityTipsRedux

More information: Why cant i find the other objects?

If something is built into your scene or prefab, make a script and drag the reference(s) in. That will let you experience the highest rate of The Unity Way™ success of accessing things in your game.

For dynamic makings of arbitrary things at runtime, use a template adaptor pattern to minimize code scatter. See enclosed example of dynamic UI.

8723331–1179720–DynamicUIDemo.unitypackage (96.1 KB)