Audio packs contain music and sound effects of the game. All packs are stored in the Unity project inside the “Assets/Audio” folder. Each pack is represented by its own folder, for example the default pack is located at “Assets/Audio/Default”. A pack’s folder must have an asset bundle name assigned to it.
Audio pack folders contain audio clip assets (sound effects), FMOD banks (music) and a configuration asset simply called “Audio Pack”. Audio clips and FMOD bancks can be located anywhere inside the pack folder, even in subfolders. The “Audio Pack” asset must be kept in the root folder of the pack. The configuration asset must be filled with all the required info. It allows to setup the FMOD banks and an audio clip for each sound effect. FMOD banks are automatically generated by Unity and placed in the “Audio/FMOD” folder. Every time these assets change (whenever the FMOD project changes) they need to be copied into the asset pack folders. It should be possible to automate this process later on.
Once a pack has been updated with new sounds or FMOD banks the asset bundles need to be rebuilt. This is possible by executing the “Assets -> AssetBundles -> Build AssetBundles” command in Unity.
To make the audio pack ship with the app the “audio_pack_default” file located at “Assets/../AssetBundles” has to be copied as-is into the “Assets/StreamingAssets” folder.
All sounds in the game are identified by an enum called “GameAudioClipName”. To add new sounds to the game it is sufficient to add new entries in the enum. After that it is possible to configure the associated clips by selecting the “Audio Pack” asset of a pack. Editable properties for the new entries will appear automatically in the inspector.