title: Audio doesn't play when instantiate new object
body: <p>I'm facing audio problems in my project. There are three paddle game objects and one cube. Cube has <code>Rigidbody2d</code> or <code>BoxCollider2d</code>. And there is also a button script attach to cube which has button function when we click on button cube <code>Kinematic</code> becomes false and drop on the paddle. When it's collide with any paddle cube destroy and instantiate again with new prefab. When Cube is falling sound is play and cube is destroy. New cube is instantiate when again click on button then error came.</p>
  
  <blockquote>
    <p><code>MissingReferenceException</code>: The object of type <code>AudioSource</code> has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object.</p>
  </blockquote>
  
  <p><strong>Scripts on all paddles:</strong></p>
  
  <pre><code>public class Paddle : MonoBehaviour
  {
      [SerializeField]
      private AudioSource source;
      [SerializeField]
      private AudioClip hit;
      [SerializeField]
      private BoxCollider2D collide;
      [SerializeField]
      private GameObject Clone;
  
      void Awake()
      {
          collide.isTrigger = true;
      }
  
      void OnTriggerEnter2D(Collider2D target)
      {
          source.PlayOneShot(hit);
          Destroy(target.gameObject);
          Instantiate(Clone, new Vector3(0f, 4.51f, 0f), Quaternion.identity);
      }
  }
  </code></pre>
  
  <p><strong>Cube Script:</strong></p>
  
  <pre><code>public class Cube : MonoBehaviour 
  {
      [SerializeField]
      private AudioSource source;
      [SerializeField]
      private Rigidbody2D body;
      [SerializeField]
      private AudioClip play;
      private Button bt;
      private float pos;
      public bool check;
  
      void Start()
      {
          bt = GameObject.FindGameObjectWithTag("Button").GetComponent&lt;Button&gt;();
          bt.onClick.AddListener(Fire);
          body.isKinematic = true;
      }
  
      void Update()
      {
          if (check)
          {
              return;
          }
  
          Vector3 temp = transform.position;
          pos = Camera.main.ScreenToWorldPoint(Input.mousePosition).x;
          temp.x = Mathf.Clamp(pos, -6.25f, 6.25f);
          body.position = temp;
      }
  
      public void Fire()
      {
          GameObject.FindGameObjectWithTag("Player").GetComponent&lt;Cube&gt;().check = true;
          GameObject.FindGameObjectWithTag("Player").GetComponent&lt;Rigidbody2D&gt;().isKinematic = false;
          source.PlayOneShot(play);
      }
  }
  </code></pre>
  
  <p><strong>Cube image:</strong>
  <a href="https://i.stack.imgur.com/z74fo.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/z74fo.jpg" alt="enter image description here"></a></p>
  
  <p><strong>Paddles image:</strong>
  <a href="https://i.stack.imgur.com/L3T0K.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/L3T0K.jpg" alt="enter image description here"></a></p>
  
  <p>New Export package:
  <a href="https://drive.google.com/file/d/0B1H5fdK2PJAnSXVPdmE5Z3J1SUU" rel="nofollow noreferrer">https://drive.google.com/file/d/0B1H5fdK2PJAnSXVPdmE5Z3J1SUU</a></p>
  
  <p>Problem in Video:
  <a href="https://drive.google.com/file/d/0B1H5fdK2PJAnYzRfVnlQT1FyTlE" rel="nofollow noreferrer">https://drive.google.com/file/d/0B1H5fdK2PJAnYzRfVnlQT1FyTlE</a></p>