title: On being Invoked by KeyPress, my gameobject appears alright, but does not get invoked again on key press?
body: <p>I was instantiating and destroying my gameobjects earlier but on learning that it is processor intensive, manipulated my code so that it is an object pool of 1 object. When I press Z, my object gets activated and starts scaling bigger as long as Z is pressed, and on key up, it deactivates the object, but when Z is pressed again, the object doesn't get Invoked again. What am I doing wrong ?  </p>
  
  <pre><code>float speed = 2f;
  public GameObject radius;
  public int pooledAmount = 1;
  List&lt;GameObject&gt; radiusorb;
  
  void Start(){
  
     radiusorb = new List&lt;GameObject&gt; ();
     for (int i = 0; i &lt; pooledAmount; i++)
     {
       GameObject obj = (GameObject)Instantiate (radius);
       obj.SetActive(false);
       radiusorb.Add (obj);
     }
  }
  
  void Update (){
     if(Input.GetKeyDown(KeyCode.Z))
     {
       Invoke("LetRadiusExist",0.001f);        //Instantiating the prefab
        }
  
     if (Input.GetKey(KeyCode.Z)) {              //Scale the object
       if (gameObject != null)
       {
        gameObject.transform.localScale += gameObject.transform.localScale * (Time.deltaTime * speed);
       }
     }
  
     if(Input.GetKeyUp(KeyCode.Z))               //To deactivate the prefab
     {
       gameObject.SetActive(false);
  
       //Destroy(cloneRadius, 0);
     }
  }
  
  void LetRadiusExist()
  {
     for (int i = 0; i &lt; radiusorb.Count; i++) 
     {
       if (!radiusorb[i].activeInHierarchy)
       {
        radiusorb[i].SetActive(true);
        radiusorb[i].transform.parent = transform;
        radiusorb[i].transform.localPosition = new Vector3(0,0,0);
        break;
       }
  
     }
  }
  </code></pre>