title: Unity3D - GameObject.Find() vs Inspector Assignment performance
body: <p>I'm making a mobile clone of pacman for android. Everything is working fine, but I am trying to optimize my game as much as possible.</p>
  
  <p>Currently in some scripts I am finding <code>GameObject</code>'s by doing <code>GameObject.Find()</code> in the <code>Start()</code> function of my scripts, like this:</p>
  
  <pre><code>void Start()
  {
      ghosts      = GameObject.FindGameObjectsWithTag("Ghost");
      pacman      = GameObject.Find("Pacman");
      gameManager = GameObject.Find("Game Manager").GetComponent&lt;GameManager&gt;();
  }
  </code></pre>
  
  <p>My question is, would performance increase if I made some of these <code>GameObject</code>'s inspector assigned variables instead of doing <code>.Find()</code>? </p>
  
  <p>Would that increase the performance speed or would it make no difference seen as though I do a <code>.Find()</code> in the <code>Start()</code> function? </p>
  
  <p>Obviously performance would decrease if it was called in the <code>Update()</code> as the script would try and find a <code>GameObject</code> every frame, but a <code>Start()</code> function would only search for it once?</p>