Using Wwise with your source control system
All Wwise project files, including the individual Work Units, are XML, making them well
suited to source control. We recommend that certain, but not all, files be added to
source control.
All of the files that appear in the File Manager can be added to source control. Wwise uses
these files to generate any other files needed by your project. We recommend adding the
following to source control:
.wproj - The Wwise project file. It is found at the root
of your project folder.
.wwu - Wwise Work Units. These files are found throughout
the subdirectories of your main project folder.
Originals folder - The original media files. These files
are used to create the final audio assets of a project.
In general, files generated by Wwise can be excluded from source control. Not only is
adding them to source control unnecessary, but in a multi-user environment sharing
certain files can cause synchronization problems. We recommend excluding:
.backup folder - When you open your project
with a newer major version of Wwise, the project is upgraded, and the .backup
folder is generated. The purpose of it is to revert the project upgrade, if
necessary. If your project is in source control, then it can be reverted from
there, so the .backup can be excluded from source control.
.cache folder - The .cache folder located in
your project directory is a local working folder for Wwise. The contents of the
.cache folder should not be added to your source control system because it may
cause unexpected behaviors in Wwise.
.prof - These files are generated at each
capture, and are not part of the project data.
.validationcache - These are generated from
.wwu files and can be excluded.
.wsettings - This file is specific to the
local user and computer.
IncrementalSoundBankData.xml - This file
tracks the state of the SoundBanks based on the local content of the Wwise
project and local SoundBank generation history.
Note that .gitignore and .p4ignore files are included when creating a new project. Here is a sample .gitignore file:
# Wwise
.backup*
.cache*
*.akd
*.prof
*.validationcache
*.wsettings
IncrementalSoundBankData.xml
SoundBanks can always be generated from the project. However, if you have team members
who do not use Wwise they will need these generated files to hear sounds while playing
the game in development. Source control could be a way to provide them access. If more
than one Wwise user is adding SoundBanks to source control, the files can become
desynchronized. To avoid this, add all .bnk and .wem files in the soundbanks/ path.
Depending on how Wwise is integrated with your game engine you may also need to add
.txt, .xml, and .json files.
Large files in your project may also require special handling to save time, for
example using Git LFS. The Git LFS exclusion file could include large binary files such
as .wav, .aif, .png, and .jpg.
Throughout the development of your game, you can view the status of your project file
(.wproj), Work Unit files (.wwu), and audio files in the File Manager. If you are using
the Perforce, Subversion, or another source control plug-in, you can perform source control
functions directly in Wwise. For more information about using a source control plug-in in
Wwise, refer to Managing project files with a source control plug-in.
By default Wwise saves Work Unit files, SoundBank files and some project files with LF line endings. Wwise can save them with CRLF endings. See Line Ending in the General Tab of the Project Settings.
When you are working as part of a team and are using a source control system to manage the files in your project, you should always be aware that others are working on the same project and that there may be merge conflicts that need to be resolved. This is why it is important to sync and merge your work often and to communicate frequently with your team members about the work you are doing. For a complete list of best practices, refer to Source control tips and best practices.