Unity. Как сослаться на компонент объекта вложенного в объект, вложенного в объект?

У меня есть игровой объект примерно такой структуры:

Player
    >BodyParts
    WeaponHolder
        >Gun1
        >Gun2
        >Gun3

Как я могу сослаться на компонент объекта Gun1 в скрипте объекта Player, не используя public GameObject?


Ответы (1 шт):

Автор решения: Yaroslav
Transform[] Childrens = GetComponentsInChildren<Transform>();
foreach (Transform children in Childrens)
    if (children.gameObject.name == "Gun1") {
        // Do something
        break;
    }

Но это ужасное профанство. По нормальному:

[SerializeField] private GameObject[] _guns;
→ Ссылка