So, I've been toying around searching for a ways to create my own soundtrack, and I finally managed it... Sad news is, that it isn't modular, you'll need to edit core files... Good news is, that since having your own soundtrack is most of the times a very personal decision (specially since uploading ~50 or more songs to CivFanatics isn't likely to happen with the filesize and all that, except on huge transformation projects, which will already have complicated installation and compatibility issues...),so it isn't so bad...
This tutorial assumes you got some basic modding knowledge, and now how to use ModBuddy and edit an xml. If you don't know this, I'd suggest Kael's guide. Please, also note that while this tutorial may look really long, it is only because it is very descriptive, the process itself is quite fast really...
We're understanding "Soundtracks" as the generic regional music that plays once you're playing the game, that doesn't depend on the leader. This one can be defined for all civs through a <SoundtrackTag>
Tools you'll need
Step 1: Order up your files.
So... You'll need to have all your music in a nice and ordered way... For achieving such a thing, I'd suggest using Firaxis' pattern (check the following folder: (Installation Folder)\Assets\Sounds\Streamed\Music\Europe\...)
There are folders for each circumstance: Peace, Either and War (Either plays on either situations.) The ammount of music is the following:
Just so we won't get lost in more than 50 files, I'd suggest using the same folder names: Either, Peace and War...
Step 2: Create your Modfile
Now, let's open ModBuddy, and add up our music files and folders. Remember to set the Music files VFS=True, or it won't work... The Solution Explorer should look like this:
![]()
Build your mod and proceed with the next step...
Step 3: Define your files.
So, now to the sadly not-modular part. We need to define the SoundIDs of each of our new music files... The problem with this, is that we'll need to edit an existing core file... Search in the (Installation Path)\Assets\ folder and subfolders for any xml file containing AudioDefines in its name; if you have the Expansion or DLC I'd suggest editing something there... Personally I used "AudioDefinesExpansion1.xml" on:
(installation path)\assets\DLC\Expansion\Sounds\XML\
Open the file, and you'll find a lot of <SoundDatas>... Right after the last one start adding up your own defines... Each define should be like this:
Remember that the Filename tag must not have an Extension... Also, it is recommendable to follow a nice numeration on the SoundID so you'll not get lost afterwards... Instead of PEACE use EITHER or WAR depending of the case...
Also, instead of CUSTOM you can name it whatever you wish, like... I don't know... AFRICAN, AUSTRALIAN, FANTASY or whatever... The name is very important, since this is how we'll assign it to the civ we want.
It is also a good idea to put a <!--Comment--> before your defines, so you won't get lost the next time you edit them or if you want to remove them.
Step 4: Because the worst part isn't over... now the Audio 2D Scripts
This step is fairly simmilar to the last one. Search for any file that ends with 2DScripts to edit it... Personally I use "Audio2DScriptsExpansion1.xml" on the same folder as the last one...
On that file, right after the last one, start adding your own SoundScripts, relating them to a SoundID you already defined. These must have this structure (the non bolded parts are optional):
Some suggestions and important recommendations here:
Step 5: Assign your new Soundtrack to a Civ
Now we need to tell the game our civ will use our new Soundtrack... For this, you'll need to change the Civilization table through an xml... like this:
The thing with the SoundtrackTag is that it uses the Script IDs automatically, deciding to use whatever is after SONG_ and before _WAR (or _PEACE): SONG_CUSTOM_WAR_34... Capitals don't matter for the SoundtrackTag.
And there... You may now enjoy your new Soundtrack! (don't forget to activate the Modfile with your Music files)
Important Questions
Why isn't this modular?
Quite sadly, there seems to be no way to simply adding a working SoundScript or SoundData tag through ModBuddy, nothing works so far... Therefore we only can edit core files for now... So the only modular part is adding the Music files and setting them to VFS=True...
Can we use this method to add new music to an existing soundtrack or to remix our own soundtrack with core music?
Yes, check this tutorial.
This tutorial assumes you got some basic modding knowledge, and now how to use ModBuddy and edit an xml. If you don't know this, I'd suggest Kael's guide. Please, also note that while this tutorial may look really long, it is only because it is very descriptive, the process itself is quite fast really...
We're understanding "Soundtracks" as the generic regional music that plays once you're playing the game, that doesn't depend on the leader. This one can be defined for all civs through a <SoundtrackTag>
Tools you'll need
- ModBuddy
- Something to edit XML files
- A LOT of music... Regular Civ5 soundtracks tend to have around 25 music for both Peace and War, and like 16 for Either... They may be in MP3 or OGG format, don't let the names have spaces.
- I have also attached a zip file containing an example of the .xml files that followed this process, as a reference.
Step 1: Order up your files.
So... You'll need to have all your music in a nice and ordered way... For achieving such a thing, I'd suggest using Firaxis' pattern (check the following folder: (Installation Folder)\Assets\Sounds\Streamed\Music\Europe\...)
There are folders for each circumstance: Peace, Either and War (Either plays on either situations.) The ammount of music is the following:
- Europe: Either 13, Peace 26, War 37.
- America: Either 23, Peace 25, War 24
- Asia: Either 18, Peace 26, War 26
- Middle East - Africa: Either 13, Peace 16, War 25.
Just so we won't get lost in more than 50 files, I'd suggest using the same folder names: Either, Peace and War...
Step 2: Create your Modfile
Now, let's open ModBuddy, and add up our music files and folders. Remember to set the Music files VFS=True, or it won't work... The Solution Explorer should look like this:

Build your mod and proceed with the next step...
Step 3: Define your files.
So, now to the sadly not-modular part. We need to define the SoundIDs of each of our new music files... The problem with this, is that we'll need to edit an existing core file... Search in the (Installation Path)\Assets\ folder and subfolders for any xml file containing AudioDefines in its name; if you have the Expansion or DLC I'd suggest editing something there... Personally I used "AudioDefinesExpansion1.xml" on:
(installation path)\assets\DLC\Expansion\Sounds\XML\
Open the file, and you'll find a lot of <SoundDatas>... Right after the last one start adding up your own defines... Each define should be like this:
Code:
<SoundData>
<SoundID>SND_CUSTOM_PEACE_1</SoundID>
<Filename>YourFileNameWithoutExtension</Filename>
<LoadType>STREAMED</LoadType>
</SoundData>
Also, instead of CUSTOM you can name it whatever you wish, like... I don't know... AFRICAN, AUSTRALIAN, FANTASY or whatever... The name is very important, since this is how we'll assign it to the civ we want.
It is also a good idea to put a <!--Comment--> before your defines, so you won't get lost the next time you edit them or if you want to remove them.
Step 4: Because the worst part isn't over... now the Audio 2D Scripts
This step is fairly simmilar to the last one. Search for any file that ends with 2DScripts to edit it... Personally I use "Audio2DScriptsExpansion1.xml" on the same folder as the last one...
On that file, right after the last one, start adding your own SoundScripts, relating them to a SoundID you already defined. These must have this structure (the non bolded parts are optional):
Code:
<Script2DSound>
<ScriptID>SONG_CUSTOM_PEACE_1</ScriptID>
<SoundID>SND_CUSTOM_PEACE_1</SoundID>
<SoundType>GAME_MUSIC</SoundType>
<iMinVolume>40</iMinVolume>
<iMaxVolume>40</iMaxVolume>
<bIsMusic>True</bIsMusic>
<iPriority>1</iPriority>
</Script2DSound>
...
<Script2DSound>
<ScriptID>SONG_CUSTOM_PEACE_26</ScriptID>
<SoundID>SND_CUSTOM_EITHER_6</SoundID>
<SoundType>GAME_MUSIC</SoundType>
<iMinVolume>34</iMinVolume>
<iMaxVolume>34</iMaxVolume>
<bIsMusic>True</bIsMusic>
</Script2DSound>
...
<Script2DSound>
<ScriptID>SONG_CUSTOM_WAR_17</ScriptID>
<SoundID>SND_CUSTOM_WAR_17</SoundID>
<SoundType>GAME_MUSIC</SoundType>
<iMinVolume>34</iMinVolume>
<iMaxVolume>34</iMaxVolume>
<bIsMusic>True</bIsMusic>
</Script2DSound>
...
<Script2DSound>
<ScriptID>SONG_CUSTOM_WAR_34</ScriptID>
<SoundID>SND_CUSTOM_EITHER_14</SoundID>
<SoundType>GAME_MUSIC</SoundType>
<iMinVolume>40</iMinVolume>
<iMaxVolume>40</iMaxVolume>
<bIsMusic>True</bIsMusic>
</Script2DSound>
- The <iPriority>1</iPriority> tag means that the music will have priority over others, so if you want a music to play more often than the others, use that one.
- You'll likely have to lower the volume for many of your new music tracks. The default volume is 40.
- "SONG_CUSTOM_PEACE_1", the CUSTOM part is how the Soundtrack will be named and called, so you can change it, but its very important that you use the same pattern on every Script2Dsound you add
- Unlike the AudioDefines, you must not have an EITHER id... instead, make a WAR or PEACE id, using the either audio you have defined...
Step 5: Assign your new Soundtrack to a Civ
Now we need to tell the game our civ will use our new Soundtrack... For this, you'll need to change the Civilization table through an xml... like this:
Code:
<Civilizations>
<Row>
<Type>CIVILIZATION_INCA</Type>
<Description>TXT_KEY_CIV_INCA_DESC</Description>
<ShortDescription>TXT_KEY_CIV_INCA_SHORT_DESC</ShortDescription>
<Adjective>TXT_KEY_CIV_INCA_ADJECTIVE</Adjective>
<CivilopediaTag>TXT_KEY_CIV5_INCA</CivilopediaTag>
<DefaultPlayerColor>PLAYERCOLOR_INCA</DefaultPlayerColor>
<ArtDefineTag>ART_DEF_CIVILIZATION_INCA</ArtDefineTag>
<ArtStyleType>ARTSTYLE_SOUTH_AMERICA</ArtStyleType>
<PortraitIndex>0</PortraitIndex>
<IconAtlas>PACHACUTI_CIV_COLOR_ATLAS</IconAtlas>
<AlphaIconAtlas>PACHACUTI_CIV_ALPHA_ATLAS</AlphaIconAtlas>
<MapImage>MapInca360x410.dds</MapImage>
<ArtStyleSuffix>_AMER</ArtStyleSuffix>
<ArtStylePrefix>AMERICAN </ArtStylePrefix>
<DawnOfManQuote>TXT_KEY_CIV5_DAWN_INCA_TEXT</DawnOfManQuote>
<DawnOfManImage>DOM_Pachacuti.dds</DawnOfManImage>
<DawnOfManAudio>AS2D_DOM_SPEECH_INCA</DawnOfManAudio>
<SoundtrackTag>CuStoM</SoundtrackTag>
</Row>
...
And there... You may now enjoy your new Soundtrack! (don't forget to activate the Modfile with your Music files)
Important Questions
Why isn't this modular?
Quite sadly, there seems to be no way to simply adding a working SoundScript or SoundData tag through ModBuddy, nothing works so far... Therefore we only can edit core files for now... So the only modular part is adding the Music files and setting them to VFS=True...
Can we use this method to add new music to an existing soundtrack or to remix our own soundtrack with core music?
Yes, check this tutorial.