We often run into situations where we create large structures and then need to use them in various places in the Wwise heirarchy.
For example, if we have a bunch of footstep surfaces, we might create a structure like this:
Footstep_Surfaces
- Run
- Concrete
- Dirt
- Grass
- Gravel
- Metal
- Sand
- Snow
- Water
- Wood
etc...
-Jog
- Concrete
- Dirt
- Grass
- Gravel
- Metal
- Sand
- Snow
- Water
- Wood
etc...
-Walk
You get the idea...
One of these could have 20-30 surfaces, and we might have 8-12 different sounds for each one. There could be individual mix changes on assets, or other properties that need to be set when mixing.
If we want to reuse this content in a different location in the heirarchy, we would have to duplicate all of this content. And then any change we want to make to the original content would have to be duplicated in all of the other places we used it.
We might have a character using the same footstep sounds, but with a different attenuation, mix level, EQ, or possibly a different bus.
While we could adjust some of these properties with RTPCs, it can also make it harder to properly solo and audition the sounds in the context of the game while connected with the Wwise profiler.
My proposal is some kind of way to create an alias object that can be used in multiple places in the hierarchy. This object would be a reference to the original object, and any changes made to the original object would be reflected in all of the alias objects.
This would allow us to manage this situation more effectively, and would also allow us to create a more modular Wwise objects that can be reused in different contexts.