I'm conflicted on when to use find game object vs keeping things in memory as references when needed. I feel like its not as cut and dry as it seems to be and I need help from you guys. example, I have 20 status bars representing achievement progress under the achievement menu. do I keep all 20 references in memory or should I do a method that takes the object name as a parameter and finds the game object and accesses the progress bar and updates it when the user does something to increase the progress bar value for that achievement. this really goes for anything tho when it comes to when or should I ever use find game object vs keeping things in memory. I cant seem to find a discussion that compares things like, is it better for a method with a string parameter to look for an object when needed as opposed to keeping tens of object references in memory? Obviously finding a game object reference would be a bad idea if we are using it in update or lets say, something that happens a lot, for example killing many enemy's and trying to find game object of hit enemy and accessing its health wouldn't make sense, But is it logical to use methods to look up single gameobject references for things that are called periodically rather than keep X amount of gameobject references in memory? I hear the argument that if its called more than one time then we should cache the reference, but is that really logical when you could cut down on MANY references in memory by doing a single object find for a reference? Im assuming looking for many references to use in a function would possibly be a bad idea, but I cannot find info on single references look up vs keeping in memory. What would you guys do? Thanks for any help.