Unity QuickTip #1: Najstarszy rodzic.

Superszybki tip, żeby nie zapomnieć.

Załóżmy, że mamy skomplikowany obiekt i collider jest jednym z jego dzieci. Wykryliśmy kolizję, i chcemy cały obiekt wyłączyć. Np. żeby go zwrócić do listy z któ®ej będzie za chwilę wygenerowany powtórnie.

Oczywiście obiekty mamy różne, skrypt jeden i nie wiemy na którym stopniu zagłębienia będzie nasz collider. Potrzebujemy wykonać coś (w tym przypadku SetActive(false)) na 'najstarszym rodzicu’.

Robimy to tak:

void OnTriggerEnter(Collider target) {
  if(target.tag == "Przeszkadzajka") {
    target.transform.root.gameObject.SetActive(false);
  }
}

Czyli transform.root daje nam Transform najstarszego rodzica. Proste, łatwe i potrzebne 😀