Yosharian's MW5 Music Modding Guide

Introduction

Welcome to my Mechwarrior 5 music modding guide. On this page you'll find guidance on how to create a mod that replaces the game's music with new files.

1: Applying To Wwise

2: Loading Your New Project In Wwise

Wwise is the program we will use to create our mod. We're going to tell MW5 to use different sound files instead of the vanilla ones using this program. The first step is to load the 'Ghost' project using Wwise. This is a pre-created project that we can load up and begin modifying.

Loading The Ghost Project Double-click on the Wwise Launcher

Go to Projects

Find the Ghost project

This project should have two tags next to it, one is the version of Wwise it's made with which should be 2021.1.2.7629, and the next one should be your License Key that was given to you by Audiokinetic. Click the button that says 'Open In Wwise'

The first time you load the project, no errors should occur

If errors do occur on subsequent loads, just click 'Accept'

Errors in this process usually occur after you make a mod, then MW5Editor receives an update (because of MW5 itself updating) and you subsequently load your old mod up in Wwise. Because the vanilla file system has changed, your old mod is no longer valid and all your changes will be lost. For this reason, if you want to look at your old mod before re-creating it, ensure you do so before updating MW5Editor.

Now before modifying the Ghost project, you will want to back it up. This is in case you make a serious error when modifying the project. The files governing this project are stored in the MW5Editor program, so restoring the Ghost project to its original state requires re-verification of all the files in that program, which is a very long process that you don't want to keep repeating over and over when you make a mistake.

Making a Back-Up of the Ghost Project Find your MW5Editor directory then go to MW5Mercs then WwiseProject

B:\Epic Games\MechWarrior5Editor\MW5Mercs\WwiseProject Back up the folder 'WwiseProject' and store it in a secure location

This means you back up everything inside WwiseProject including ghost.wproj and all the directories inside that folder (30 items total) Now if you make a mistake when editing the Ghost project, you can take your backup and copy it back to the original folder, overwriting everything

3: A Simple Music Music Mod

Now that we've got Wwise loaded up with our new project, we're going to make our first modification. It's going to be an easy one that you can have a go at and then test to make sure it's working. We're going to modify the main menu music.

Modifying The Main Menu Music Open up the Ghost project in Wwise as explored in the previous section

Look in in the left hand pane titled 'Project Explorer'

Open up the tab titled 'Interactive Music Hierarchy'

Open up the tab titled 'Music'

Find the music container titled 'Title_Screen_Main_Theme' and click on it

Reference image:

With 'Title_Screen_Main_Theme' selected, look at the Music Playlist Editor

You should see 'Sequence Continuous' with 'Menu Theme' below it

Reference image:

Click 'Menu_Theme' and press the Play button in Transport Control

Listen to the music, this is the current main menu theme

Clicking the Play button in Transport Control when you have the music container selected previews how the game will play the music, including things like shuffling between different music and so on. It's a good way to test if your desired musical experience matches what you've actually done in the mod. Now click on 'Menu_Theme' in the Project Explorer

The Music Playlist Editor will change to Music Segment Editor

This is where you can see the waveform of a particular piece of music

This is useful to test the volume levels of your chosen pieces of music

It's usually a good idea to make sure that your replacement music matches the volume level (roughly speaking) of the original music, otherwise it will feel too loud or too quiet compared to the original music Return to the Music Playlist Editor by clicking 'Title_Screen_Main_Theme'

Right-click on 'Title_Screen_Main_Theme'

At the Audio File Importer, click on 'Add Files'

Select the music files you want to use to replace the main menu theme, and click 'Open'

Click on the 'Import' button; if Wwise complains about it already existing, click Import again

You should now see your imported music files within the 'Title_Screen_Main_Theme' container

Reference image:

(Don't forget to check your new music's volume levels in the Music Segment Editor)

Click on 'Title_Screen_Main_Theme' and look at the Music Playlist Editor

Click and drag your new music files (in this case, 'THEME_Dune_Order_Menu' etc) into the Music Playlist Editor so that they appear under Menu_Theme, one at a time for each new music file

Delete 'Menu_Theme' in the Music Playlist Editor so that only your music remains

Press the Play button in Transport Control, you should hear your new music playing

Go to 'Project' at the top of your screen and Save the project (or press CTRL+S)

4: Creating Your Mod

In this section we'll use MW5Editor to take our Wwise Ghost project and package it into a mod. The first step is to load up MW5Editor, it takes a while to load the first time you do this so go get a cup of tea or something. Once it's loaded, we're ready to start packaging.

Creating The Mod Package Go to the Content Browser, click on Content>Audio>Banks

Find the Music bank and Right-Click on it, then select 'Generate Selected SoundBank'

In the next dialog box, click 'Generate'

A box should appear in the bottom right corner of your screen, which says 'Generating Wwise Sound Data', then 'Cooking Wwise Sound Data Completed' should appear

Following this, do not close the MW5Editor

We need to take the newly-generated files which are located inside a MW5Editor directory

B:\Epic Games\MechWarrior5Editor\MW5Mercs\Content\WwiseAudio/Windows Sort the directory by Date Modified, and check the date next to the newest files

Reference image:

Copy the above files to a new directory

B:\Epic Games\MechWarrior5Editor\MW5Mercs\Plugins\HarmonicWarfare\ModOverride\WwiseAudio\Windows Part of this directory structure is generated by the name chosen for your mod. My mod is called 'Harmonic Warfare', so that is in the directory structure. For your mod, it will not say HarmonicWarfare, rather it will say whatever you chose to name your mod when you submitted your request to Audiokinetic. The newly-generated files are now inside the ModOverride/WwiseAudio\Windows directory

Now return to MW5Editor and look at the buttons which say 'Save Current', 'Source Control', etc

Find the button titled 'Manage Mod'; you may need to click the >> button to find it

Click on 'Manage Mod' and look at the new box

Here you can edit your mod's title, the author, and the image associated with the mod

Do not touch the Load Order unless you know what you are doing!

Click the 'Package' button, and ensure the Mods directory is selected

In the bottom-right corner you will see 'Packaging <yourmodname> for Windows...'

Wait a while...

You should receive a dialog box stating 'Packaging <yourmodname> successful.'

Click 'Yes' to open the output directory, you will be taken to the directory containing your mod

B:\Epic Games\MechWarrior5Editor\MW5Mercs\Mods\HarmonicWarfare You can compress this directory (e.g. 7-Zip) and upload it to the Nexus to distribute it.

To use the mod in your MW5 game, take the (uncompressed) directory and put it in:

A:\Steam\steamapps\common\MechWarrior 5 Mercenaries\MW5Mercs\Mods\ Final file structure example:

A:\Steam\steamapps\common\MechWarrior 5 Mercenaries\MW5Mercs\Mods\HarmonicWarfare Again, remember that instead of 'HarmonicWarfare', your file structures will say whatever your mod is called.

Finally, close MW5Editor and do not click Save

Now load up MW5 and wait til the main menu appears; your music should be playing

5: Basic Music Playlists

So in section 3, we created a simple music mod that altered the game's menu theme. Now let's look at adding multiple music files to one function. In this example, we'll make it so that the main theme can play a variety of music files, and control how it chooses which file to play.

Creating A Music Playlist In Section 3 we added new music files to the 'Title_Screen_Main_Theme' music container

Repeat this step and make sure you've added several different music files

They should all appear under 'Sequence Continuous' in the Music Playlist Editor

Click on 'Sequence Continuous' and select 'Random Continuous'

Change the 'Weight' value for each track to create a 'percentage' chance to play that track

E.g. I'll change Inner Sphere to 50, but I'll change the Dune music to 5, because I want the Dune music to play very rarely, while the Inner Sphere music, being a more traditional MechWarrior theme, to play more often. You can use values of 0-100 for these. That's all for now, but we'll come back to playlists later on to explore more complex ones.

6: Modifying Other Non-Mission Music

So we've changed the music for the main menu, and we created a simple playlist that chooses a random piece of music from a selection. Let's look at some other non-mission music that we can replace.

Replacing Hangar Music Go to the Project Explorer, and find the Hangar Switch Container

Expand it, and look at the Music Playlist Containers contained within Hangar

Reference image:

So we can see several Playlist Containers here, let's figure out what each one does

Hangar: controls the music that plays when you walk around the hangar.

Menu: controls the music that plays when you are accessing the computer, e.g. looking at the star map, analysing mech builds, choosing what repairs to make, etc.

Star_Map: does not actually control the star map music, instead it's the music that plays when you're choosing what mechs to drop with.

Mission_Outro_Victory/Loss: controls the music that plays post-mission, when you are looking at the mission results. Is not stored in a playlist container, so you must create one in order to use multiple tracks for this function. It's simpler if you just want one new track to play. Let's look at replacing the music for the 'Menu' Playlist Container

Click on the 'Menu' Playlist Container in the Project Explorer, and expand it

Right-Click on the 'Menu' Playlist Container, and click Import Audio Files

Click & drag the new music files into the Music Playlist Editor

Delete the old Menu_Alt/Alt2 files from the Music Playlist Editor

Choose 'Random Continuous' in the Music Playlist Editor

Weight each new music file according to how often you want it to play

You can replace the music using the same process, for the Hangar/Star Map containers

To replace the victory/loss tracks, right-click on the Hangar Music Switch Container, then select New Child>Music Playlist Container, and call the new container 'Mission_Victory'

Repeat the process but call the second one 'Mission_Loss'

In the Association Editor, click and drag the newly-created containers onto the Summary_Defeat and Summary_Victory paths.

Now populate your Mission_Victory and Mission_Loss playlist containers with music using the Import Audio Files function

7: Replacing Map/Mission Music

So in the Project Explorer you'll see all the music for every mission in the game. Replacing these individually would be a time-consuming task, so we're going to replace the music in a smarter way. We're going to create a new music container, and redirect the game to that container every time it wants to play some music, regardless of the map/mission it's on.

Creating Our New Switch & Music Containers Go to the Project Explorer and right-click the 'Music' element under 'Interactive Music Hierarchy'

Select New Child>Music Switch Container, this creates a new Switch Container

Call your new Switch Container, 'Custom Switch Container'

The Switch Container acts as a master controller for all the game's music states. It decides what to play when a given musical state occurs. For example, if the game calls for the 'ambient' music state, the Switch Container will look at what Music Playlist Container is attached to the ambient music state, and play music from that container.

Reference image:

Each music state refers to a different part of a mission, as described above. Note that the 'Evade' state is never used, and some missions do not use each music state; for example, the 'Climax' state is only used in certain missions where there is a boss-type enemy to defeat.

For our replacement music, we will create replacement music for each music state, and each music container will only be called on if necessary. So 'Climax' music may not be used in each map/mission. Go to the Project Explorer and right-click the 'Custom Switch Container'

Select New Child>Music Playlist Container, this creates a new Music Playlist Container

Call your new Music Playlist Container, 'MPC_Ambient'

This container will hold all the pieces of music that play for a certain music state, in this case the 'Ambient' music state. Repeat this process until you have a set of Music Playlist Containers as shown below:

So now we have our containers set up, but we need to tell the game to start using them.

Assigning Our New Containers Select Custom Switch Container, and look at the Music Switch Container Association Editor

Click on the >> button and select Switch Groups>Music>Music_State

Now the Custom Switch Container has all the relevant gamestates inside it

This tells the game 'hey, this container is used for these musical states'

We still need to attach this Switch Container to specific missions/maps

Go to the Project Explorer, and select the Events tab

Under Events, make sure the Music work unit is expanded

You'll see DLC1, DLC2, Hub_State, Music_State, etc

Expand the Story Missions virtual folder and select 'Music_A1M1'

Now the Event Property Editor will appear, and inside it there is a box that states 'Target'

Next to target it should say A1M1 with a blue bar next to it, right-click on that, select Browse

Select 'Custom Switch Container' (or whatever you named it)

Now MW5 will call upon our new Switch Container to play music during A1M1

We need to repeat this process for every map/mission contained within the Music work unit

Reference image:

Note: do not change the other events such as Hub_State or Music_State events.

Now that our new Switch Container is attached to every map/mission in the game, we need to set it up so that it plays our new music correctly.

Setting Up New The New Containers In the Project Explorer, return to the Audio tab and select the new Custom Switch Container

Look at the Music Switch Container Association Editor

Here is an example of a vanilla setup:

We need to set up our new Custom Switch Container similarly

For each of our Music Playlist Containers under Custom Switch Container, we'll click and drag them onto the music state inside the Music Switch Container Association Editor

Reference image:

We will also create a wildcard path by selecting 'Add Generic Path', for this path click the '...' and choose the Ambient Playlist Container

Note: you don't really need a 'Combat2' Music Playlist Container. You can just assign the Combat_2 path to the same container as Combat_1.

Our Music Playlist Containers are now set to trigger for each music state, but we need to tell the game how to handle transitions between states. This must be set up manually, and we need to use some tweaks to ensure that the transitions happen correctly because we won't be creating exit cues at the end of each piece of music. Well, you could do that, but I can't be bothered!

Handling Transitions Select Custom Switch Container in the Project Explorer

Go the Music Switch Container Property Editor and ensure the Transitions tab is selected

We'll need to set up our transitions like the ones you can see in this vanilla example:

With the Transitions tab selected, click the button on the right 'Add Transition'

Sometimes this button is hidden if you have your Wwise editor reduced to a small window You should now see a second Transition under the first one, that is editable

For each transition, a Source and a Destination is required, and the following settings:

1: Under Source, Exit source at: Immediate

2: Under Source, uncheck Play Post-Exit

3: Under Source, check Fade-Out

4: Under Destination, uncheck Play Pre-Entry Set up each transition as per the image below, using the >> button to find Playlist Containers

Any settings not referred to above should be left as default

Reference image:

You can now populate each of your Playlist Containers with your chosen music and in-game the sound engine will transition between them when the music states change. For my music files I ensure that the volume levels match the vanilla music as best as possible.

8: Creating A New Rivals Stinger

For some elements of the game's music, modification is a little more complicated. One example of this is the Merc_Rivals_Stinger element, which controls what musical stinger plays when a mercenary company of mechs drops during a mission. This is meant to be an exciting moment in any mission. Because the Merc_Rivals_Stinger is not stored in a music container, we have to modify it in a different way.

Modifying The Merc Drop Stinger First, we'll need to Import our new stinger file directly into the Music work unit:

Once imported, it will sit inside the Music work unit underneath 'Merc_Rivals_Stinger'

However we still need to tell the game to use our new stinger instead of 'Merc_Rivals_Stinger'

Go to the Music Segment Property Editor and compare 'Merc_Rivals_Stinger' to your new stinger

Ensure the Music Segment Property Editor is on the General Settings tab You should see that 'Merc_Rivals_Stinger' is on the Stinger bus, while the new stinger is not

Select the new stinger, click '...' next to Master Audio Bus in Music Segment Property Editor

Choose Stingers as the new Output Bus, press OK

Now find the Reference View, you may need to press SHIFT+F3 to open this

Select 'Merc_Rivals_Stinger' and observe the Reference view

You will see the trigger 'Merc_Rivals_Stinger [Play - Mercs_Rivals_Stinger]'

This tells the game that 'Merc_Rivals_Stinger' is attached to the merc drop function

We need to copy this trigger to our new stinger file

First, select the 'Merc_Rivals_Stinger' in the Project Explorer

Then, click inside the Reference View on 'Merc_Rivals_Stinger [Play - Mercs_Rivals_Stinger]'

This changes the Music Segment Property Editor to the Event Property Editor

Reference image:

Now click and drag your new stinger file from the Project Explorer, onto the Target box inside the Event Property Editor where it currently states 'Merc_Rivals_Stinger'

Reference image:

If you've done it correctly, selecting your new stinger file in the Project Explorer should make Merc_Rivals_Stinger [Play - <newstingerfilename>]' appear in the Reference view. There is no easy way to test this other than to play a mission until a merc drop occurs.

Source: https://steamcommunity.com/sharedfiles/filedetails/?id=3312804350					

More MechWarrior 5: Mercenaries guilds