public void PlaySFX3D(AudioKeys key, Vector3 soundPosition, float volume = 1, float pitch = 1, float spatialBlend = 1)
    {
        GameObject temp3DAudioGameObject = new GameObject();

        temp3DAudioGameObject.name = audioClips[key].name + "_Audio";
        AudioSource tempAudioSource = temp3DAudioGameObject.AddComponent <AudioSource>();

        tempAudioSource.transform.position = soundPosition;
        tempAudioSource.clip = audioClips[key];
        float audioClipLenght = audioClips[key].length;

        audioSource.spatialBlend = spatialBlend;
        audioSource.pitch        = pitch;
        audioSource.PlayOneShot(audioClips[key], volume);

        StartCoroutine(DestroySoundGameObject(temp3DAudioGameObject, audioClipLenght + 0.1f));
    }
 public void PlaySFX2D(AudioKeys key, float volume = 1, float pitch = 1)
 {
     audioSource.spatialBlend = 0;
     audioSource.pitch        = pitch;
     audioSource.PlayOneShot(audioClips[key], volume);
 }