A veces necesitás localizar objetos o componentes que ya existen en la escena.

Siempre que sea posible, suele ser más claro guardar referencias desde el Inspector o al inicializar el script.

Por Tag

GameObject jugador = GameObject.FindGameObjectWithTag("Player");

Por nombre

GameObject jugador = GameObject.Find("Player");

Funciona, pero depender del nombre hace el código más frágil.


Buscar un componente

En Unity moderno existen APIs para encontrar objetos por tipo.

Ejemplo:

Player jugador = FindFirstObjectByType<Player>();

Si necesitás cualquiera y no importa cuál:

Player jugador = FindAnyObjectByType<Player>();

Varios objetos

Enemy[] enemigos = FindObjectsByType<Enemy>(
    FindObjectsSortMode.None
);

Si no necesitás ordenar los resultados, FindObjectsSortMode.None evita trabajo extra.