This is an example of a custom audio engine for Unity, made with Pure Data and implemented using Kalimba (a C# library for Unity).
Pure Data uses a hierarchical system, with ‘abstractions’ and ‘sub-patches’ that are all accessible and controllable from the main/parent patch. So the way I went about creating a bespoke audio engine for the tanks level using this system was to divide groups of sounds into their own individual abstraction. For instance I used an abstraction for the music, with all of the behaviours and sound generation within it.
The sound generation and behaviours were in turn contained within sub-patches, primarily to help keep the project neat but also to avoid excessive performance issues, as single patches with too many ‘atoms’ tend to lag quite significantly. Continuing with the music abstraction, the sub-patches within were split into drums and ‘tonal,’ within the former: A snare, kick and hat sub-patch, while in the latter: a harmony sub-patch, a melody sub-patch and a note and chord generator.
As this is a procedural audio engine, with procedural meaning that the sounds are generated during runtime, the note and chord generator is of particular interest. It could take in any starting frequency and then create any Gregorian mode with that frequency as the tonic. It would store each note in the scale as a frequency, with each accessible at any given time to generate a melody or a chord.
I definitely believe that procedural audio in some form will be the future of game audio, as the processing power of computers is always getting better. However I think some of the major limitations, like the quality of sound, will prevail for quite a while - so a combination between traditional and procedural will become more of a normality in the coming years (already becoming standard in Wwise with the SoundSeed plugin).
The following is an introductory lecture I did using this project as an example. It should illuminate most of the inner workings of a bespoke procedural engine, and how it interacts with a game engine like Unity.