Similar to PlayOneShot() is the PlayClipAtPoint() AudioSource method. This allows you to play a sound clip for an AudioSource component created at a specific point in 3D world space. Note that this is a static class method – so you don't need an AudioSource component to use this method. An AudioSource component is created (at the location you provide) and will exist as long as the AudioClip sound is playing. The AudioSource component will be automatically removed by Unity once the sound has finished playing.
All you need is a Vector3 (x,y,z) position object and a reference to the AudioClip file that you want to be played:
Vector3 location = new Vector3(10, 10, 10); AudioSource.PlayClipAtPoint(soundClipToPlay, location);