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.
GameObject jugador = GameObject.FindGameObjectWithTag("Player");
GameObject jugador = GameObject.Find("Player");
Funciona, pero depender del nombre hace el código más frágil.
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>();
Enemy[] enemigos = FindObjectsByType<Enemy>(
FindObjectsSortMode.None
);
Si no necesitás ordenar los resultados, FindObjectsSortMode.None evita trabajo extra.