title: Unity SetActive(true) not working after setting it to false at first?
body: <p><a href="https://i.stack.imgur.com/YR0WO.png" rel="nofollow noreferrer">Heirarchy structure</a>   </p>
  
  <pre><code>using UnityEngine;
      using System.Collections;
  
      public class Ball : MonoBehaviour {
          private Rigidbody rigidbody;
          public Vector3 LaunchVelocity;
          private AudioSource audiosource;
  
          // Use this for initialization
          void Start ()
          {
              GameObject.Find("Touch Panel").SetActive(false);
              rigidbody = GetComponent&lt;Rigidbody&gt;();
              rigidbody.isKinematic = true;
              // disable touch control
              audiosource = GetComponent&lt;AudioSource&gt;();
          }
  
  
  
          // Update is called once per frame
          void Update()
          {
          }
  
          public void LaunchBall(Vector3 passedvelocity)
          {
              rigidbody.velocity = passedvelocity;
          }
  
          public void DropBall()  // This is attached to a button
          {
              rigidbody.isKinematic = false;
              GameObject.Find("Touch Panel").SetActive(true);
  
          }
      }
  </code></pre>
  
  <p>As you can see above I have disable "Touch Panel" at start function. But on DropBall function ( remember it is attached to a button), I have set it to active but it is not working.Can anyone help me with this.Thanks.</p>
  
  <p>EDIT:- This script is attached on a "Ball". and ball is attached on a Button.
  "Touch Panel" is child of Canvas.</p>