Does a reference to a script have up-to-date info ?

Hey all, Just a quick question here. I’m trying to get out of the habit of doing SendMessage for absolutely everything, even if it is convenient. To expand on the Opening question; When I make a reference to a script, does the variable have up-to-date info every time I access it from the new script? i.e

private GameObject theHunter;
private MainObject theHunterCopy;
.........
theHunter = GameObject.FindGameObjectWithTag("Main");
theHunterCopy = (MainObject)theHunter.GetComponent("MainObject");
.........
if(theHunterCopy.Herbivores > 0){
float divideBy = (theHunterCopy.Herbivores) + .5f;

transform.localScale += new Vector3(.003f/divideBy, .003f/divideBy, .003f/divideBy);
}
.........
theHunterCopy.FSpawn--;
theHunterCopy.ReceiveEnergy(energy);

Thanks!

Yes, when you find it, you are getting a reference to the game object, if in that game object, it has behaviors/scripts attached that are changing, say, it’s position, then in the script that has the reference, it would have that “up-to-date” information. This of course doesn’t apply to a deep clone of an object.