К счастью, это так просто
Component[] allOfThem = GetComponents<Component>();
Это для "этого" игрового объекта или, конечно, selected.GetComponents<Component>()
для вашего игрового объекта selected
.
Итак, когда вы думаете оэто ..
Component[] stuff = GetComponents<Weapons>();
.., которое даст вам все, что является подклассом оружия.
Component[] ux = GetComponents<UnityEditor.UI.Button>();
.., которое даст вам все, что естьподкласс Button.
Component[] stuff = GetComponents<Enemies>();
.., который даст вам все, что является подклассом врагов.
И вот это ...
Component[] stuff = GetComponents<Component>();
будетдать вам все, что является Компонентом!
Вы не можете "прикрепить" его к игровому объекту, если это не Component
, так что это то, что вы хотите.