After switching Alien Assimilator over to Steam VR I wanted to figure out what options there were for spatialized audio. I ended up searching around some on the internet and found this great post that covers the Oculus, Google and Valve spatializers.
I had the same requirements they outline:
- Free to use and ship in your app.
- Currently supported by active development.
- Cross-platform compatibility with Unity.
The article does a fantastic job outlining the strengths and weaknesses of each but I ended up just deciding to try Steam Audio since I was building to Steam VR anyway. I intend to release Alien Assimilator on Steam as an Early Access game whenever it gets to a good state so it seemed logical to try it first.
For Alien Assimilator I am really just looking for basic spatialized audio. I have never spent the time to dig into more advanced aspects of audio spatializers and really just want the audio that I produce to sound like it is coming from the correct place to coincide with the visuals. I also want this with minimal effort and setup.
I ended up just going to the Unity download section and getting the package and following the instructions in the HTML Manual to get it setup. It is really straightforward and I had it working right away. Steam Audio is still in Beta and most of the regular updates can be found on the Steam Community forum.
After getting it working I simply configured my audio source prefab I use when I generate sounds. This has the Steam Audio Source component and has the 3D sound settings configured with a min/max distance etc. This makes it seem like the audio is close or far away.
The spatializer also seemed to work fine with a VR camera that is scaled. In Alien Assimilator you are standing in a city above the buildings and below the assimilator ship you are controlling. This means you are essentially giant and the VR camera parent object is scaled (in the case by 50). I didn’t have any issues and the audio sounded fine.
In the end I was really happy with Steam Audio so definitely try it as a spatializer in your next VR project.