FindGameObjectWithTag wont find in Start() or Awake() but will in Update()

Hello, I am having an issue with FindGameObjectWithTag, I’ve attached this line of code, if I move it into Update() it works properly but if it is in the Start()or Awake() I get a null reference. I assume this is because the Start()and Awake() functions call it to early but I have no idea how to fix this issue and don’t want to leave it in update because it is expensive. Any insight would be greatly appreciated.

GameTrack = GameObject.FindGameObjectWithTag(“Tracker”);

If the object is always readily available in the scene why not just link it through a public inspector property? You would normally use tags to retrieve objects if either object was created dynamically.

Assuming you don’t change/set the tag of the “Tracker” object as part of some initialization and it’s already set to that in the scene (before hitting play) you should be able to find it in the awake/start of any script. This tells me you’re either destroying the object and recreating it or updating its tag to be “Tracker” at some point during awake/start. Can you show us the code of the script attached to the “Tracker” object and the code looking for the “Tracker” object.