Currently, in our build system, we do a clean generation of all SoundBanks every time there is a Wwise change using the generate-soundbank command from the Wwise.exe command line interface. When doing this we purposely do not use the cache to make sure it is a clean build. While this ensures that we are consistently building clean SoundBanks it can take a decent chunk of time (between 20 to 30 minutes).
In order to speed up SoundBank generation in our build system it would be nice to be able to determine which SoundBanks actually changed and need to be built from the command line. That way we could get much quicker build and iteration times by only building the banks that have applicable changes. In fact, it seems like the Wwise authoring UI is able to determine this quite easily.
I can imagine this being done one of three ways:
- By giving some sort of `--dry-run` argument to the `generate-soundbanks` command that would give a list of SoundBanks that would have been built.
- By giving a `--build-changed` argument to `generate-soundbanks` that would just build the SoundBanks with changes.
- A new endpoint in WAAPI that would tell you what SoundBanks need to be generated.
We actually have already made a script that works about 95% of the time by parsing .wwu files directly, but I fear that it will quickly become out dated and possibly be wrong when new concepts or schemas are used in future versions of Wwise. I would prefer to have a fool proof way provided by Wwise in the end.
I was not able to find a suitable way to determine this using WAAPI either, but if there is a way I don't know of then please point me in that direction :)