****NEW - parameters, see new video showing off how easily car engines/dynamic music can be done! ← v1.07 which has all of this in is OUT NOW
Hello!
WingroveAudio is now available on the AssetStore. The main goal of WingroveAudio is to make a great audio implementation as easy as possible to create within Unity - moving as much as possible out of code and into the editor.
Less mess, better results! WingroveAudio gives you an easy to use framework to take the work away from an excellent audio implementation in your game! Create groups, fades, random variation and more in the editor with rarely more than a line of code! NGUI and Playmaker compatible.
The current version has the following features:
Audio hierarchy, and hierarchy based mixing
Event driven audio triggering
Live mixer window
Quick event testing panel window
Audio source pooling, virtualized sounds
Automatic ducking and event based ducking
Configurable fading on all play/stop events
Instance limiting
Load dynamically from Resources
Easy hierarchy based pause/resume
Automatic placement of 3D sounds
Lifetime event triggers (possible to trigger/stop/fade/etc… audio with no code)
Object linked events
NGUI event triggers and PlayMaker compatible actions
Multiple listener (e.g. split screen) support (video below)!
Parameters curves for response - do engines/dynamic music/more very easily!
I’ve still got several features planned - but if anyone has any good suggestions of what they might think most important, then that’d be great to know!
It supports everything Unity supports, as it works “on top” of Unity’s audio - which is platform dependent. So on PC/Standalone that’s ogg, and iPhone/Android mp3 - Unity will convert for you, if you select “Compressed” on the audio clip.
WingroveAudio has some stuff for transparently dynamically loading and unloading audio assets, using Resources.Load which you can use to further manage memory usage. I’ve got some more plans for further loading methods (AssetBundle support, etc…).
I need to load the mp3’s at runtime. What I was wanting to do is tap into a players own music library while they play. I keep hitting walls in my research in how to accomplish this feature though.
Unity only allows one listener, yes. WingroveAudio supplies its own listener. You can add multiple WingroveListeners {e.g. for split screen), and WingroveAudio will do the adjustments required to take them all in to account appropriately!
I’ve made a short video showing off some more features - including split screen (multiple listeners), but it also shows how you can have sound events triggered without any code.
I’ve been working on some new features which will be going in to the next build:
Real-time parameters can be sent in to modify sounds - great for dynamic music, car engines, helicopters, or anything else you can think of. (parameters can be per-object instance or global)
Automation tools - set up your hierarchy faster, tools for multi-editing import settings
v1.06 is out which has real time parameters in!
I’ll be making a tutorial/video showing this off shortly.
The quick explanation - you can now create cool engine/dynamic music/etc… set-ups in the hierarchy using curves, then send over your parameter (e.g. vehicle speed, or music intensity) and have it update on the fly!
I’m dropping the price a little bit for a while - 1.07 coming soon, and will have many new features!
I’m also going to do a couple more videos and tutorials, as well as an example project - to show how simple it makes the code side of the audio.
Edit/Update - preview of the dynamic parameter response editor coming in 1.07 - here’s my simple car engine set-up. The white line shows what the ENGINE_SPEED parameter is currently at, and the curves show how the layers of audio are set up to respond to it.
I’ve made a video showing off the new parameter editing window / dynamic audio parameters / curves.
It first demonstrates some car audio, then some dynamic music:
v1.08 is in submission now - it has a new ‘delay’ option, more accurate timing using dspTime (optional), and support for custom roll-off curves (which can be edited as ‘normalized against a maximum’), and all the components are now nicely organised under the Add Component menu.
The example scenes have been updated to demonstrate custom roll-off curves.
OK, the 1.09 update is now available on the asset store! Enjoy
Taking requests for new features. One feature I am considering adding for v1.1 is a smart bank loading system (which will allow you to break up your hierarchy further between scenes).
I’m also going to further extend some of the inspectors to add more ease of use functionality - quick-launch buttons for loading up the parameter response window, version info, also adding an audio parameter monitoring window.