Version
Wwise Unity Integration Documentation
|
SoundBanks for Android included in the APK can be directly accessed through the LoadBank() APIs. SoundBanks placed under the StreamingAssets
folder are included in the Assets
folder of the APK when building the Unity project. The Low-Level IO handles the access to SoundBanks from the APK transparently.
The Low-Level IO can also access SoundBank files in the Android file system, such as from an SD card. To access the native file system, you need to call AkSoundEngine.AddBasePath(YourPath)
. This new path takes precedence over the default APK files. If a file has the same name in the external path and in the APK, the external path is used. Accessing external files can be useful if you are adding DLCs or patches to audio content after the APK is built.
When the app is put in background, we recommend that you call AkSoundEngine.Suspend()
. When the app returns to the foreground, restore the sound with AkSoundEngine.WakeupFromSuspend()
. This is currently implemented in AkInitializer, but you can move or replicate it to other parts of your game if it makes sense.
Wwise Authoring contains an option to mute background music on Audio Busses. You can use this option to mute game music when a player's music starts (refer to Replacing Music with a Player's Own Music). However, if you use enable this option and also enable Unity Audio on Android, music that passes through the bus is always muted.
You must therefore decide whether to use the Wwise setting to mute background music or enable Unity Audio, because the two in combination are incompatible.
For the Android platform, when checking the Unity option Player Settings > Publishing Settings > Split Application Binary, APK Expansion Files are used for bundling the project assets. This effectively creates a zip file with the .obb extension that contains the StreamingAssets folder, including the SoundBanks. The default Android SoundBank loading support assumes that SoundBanks are located in either the APK file or OBB file.
If you are constructing your own OBB file externally, note that the inner path given to AkSoundEngine.SetBasePath must be the same in the OBB. OBB files must be uncompressed and unencrypted for the default I/O system to work. If this is not the case, then you will need to uncompress the OBB in the persistent data path. The CPU cost to uncompress is too high to uncompress on the fly.
Alternatively, you can use in-memory loading of banks. An example is provided in AkMemBankLoader.cs. This script tries to load the specified SoundBank at the start time of the scene, and unload it when the scene is destroyed. The following changes need to be made to use this example:
Is
Localized
Bank
option if the SoundBank is localized. It will use the global language defined in AkInitializer.cs
.Two methods AkMemBankLoader.LoadNonLocalizedBank()
and AkMemBankLoader
. LoadLocalizedBank()
can also be called directly in code for the non-localized and localized SoundBanks.
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise