title: GetComponentInChildren is getting Sibling's Children too
body: <p>I have a folder hierarchy like below. <code>Circle</code>s have script for drawing the circles, and <code>OuterCircle</code> &amp; <code>InnerCircle</code> have scripts for instantiating and narrowing scripts.</p>
  
  <pre><code>MainParent
    - OuterCircle (instantiate + narrow)
      - Circle (draw)
    -  InnerCircle
      - Circle
  </code></pre>
  
  <p>In the first go (destroying + initialising), narrowing script works as expected. But after initiating new circle gameObjects, it is grabbing one gameObject at a time.</p>
  
  <hr>
  
  <p>Narrowing Script <em>(added on both OuterCircle and InnerCircle)</em>:</p>
  
  <pre><code> public BuildCircleMesh circleScript;
  
   void Start () {
      circleScript = gameObject.GetComponentInChildren&lt;BuildCircleMesh&gt; ();
   }
  
   void Update () {
      if (circleScript == null) {
        circleScript = GameObject.Find("GameCircle").GetComponentInChildren&lt;BuildCircleMesh&gt;();
      }
  
      circleScript.innerRadius = circleScript.innerRadius - 5 * Time.deltaTime;
   }
  </code></pre>
  
  <p>If the narrowing script is running in <code>OuterCircle</code> and <code>InnerCircle</code> gameObject (parents), shouldn't GetComponentInChildren work independently so they behave for their own child rather than grabbing each others? Because I think the problem is both folder starts grabbing other parent's child <em>(and if I deactivate one parent, it works perfectly as well - so the problem is when I have two and <strong>I suspect it starts grabbing sibling's children</strong>)</em>.</p>