> For the complete documentation index, see [llms.txt](https://mtgmodders.gitbook.io/etg-modding-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mtgmodders.gitbook.io/etg-modding-guide/sounds/using-custom-sounds-1.md).

# (OUTDATED) Using Custom Sounds

### Difficulty: 5/10 <img src="/files/-MfzUfwEbw3CPleihZ-O" alt="" data-size="original">&#x20;

INFORMATION ON THIS PAGE IS OUTDATED, AS THERE ARE NOW BETTER TOOLS AND APIS IN PLACE FOR SOUND MANAGEMENT. PLEASE REFER TO THE [**Using Custom Sounds**](/etg-modding-guide/sounds/using-custom-sounds.md) AND [**Customizing Gun Sounds**](/etg-modding-guide/sounds/customising-gun-sounds.md) PAGES IN THE SIDEBAR FOR AN UP TO DATE GUIDE&#x20;

## Preparing Your Mod

You will need to prepare your mod to be able to see and load 'sound banks', bundled collections of audio files created by Wwise/other more convenient tools.

1. Add this static variable to your main module class, outside of any method.

```csharp
public static <your modules class> instance;
```

&#x20;2\. Add the following code in the Start() method of your main module to set the variables you just created.

```csharp
instance = this;
```

Now we can move on to the code part: You want to drop these classes into your project.

{% file src="/files/wcIbMxa9Djer7N4o0Gwk" %}

{% file src="/files/6A2veUFFh2dhmehzv6SG" %}

Make sure to replace namespaces and class names appropriately.

When you create a soundbank in wwise it will have a name, so to load it you will want to do this in your module:

do this version if you want to load from a folder:

<mark style="color:purple;">`AudioResourceLoader.loadFromFolder("mod name");`</mark>

and do this if you want to load it from your dll as an embedded resource (this is better):\ <mark style="color:purple;">`AudioResourceLoader.loadFromAssembly("<bank name>.bnk", "mod name");`</mark>

{% tabs %}
{% tab title="Python Audio Bank Generator" %}
{% embed url="<https://github.com/pcrain/gungeon-modding-tools/blob/master/gen-gungeon-audio-bank.py>" %}

three dots in top right -> download

Make sure you have python installed on your device.

\[Rest of the tutorial/Documentation]
{% endtab %}

{% tab title="Wwise Editor..." %}

### Difficulty: 5/10&#x20;

## Installing Wwise

Custom sounds can pose a significant challenge at first, but become progressively easier with practice.&#x20;

1. Download the Wwise launcher from the link below. This will require making an Audiokinetic account.

{% embed url="<https://www.audiokinetic.com/download/>" %}

2\. Inside of the Wwise launcher, install Wwise version 2017.2.10. This is the necessary version, as it is the only one compatible with Enter the Gungeon.

![](/files/-MWlFkQLIIWGQcClvJ7n)

## Using Wwise

First things first make sure you have wwise v. 2017.2.10. open up wwise and select new <br>

![](/files/OXPePy70QQIwq21VryFQ)

Name it whatever you want

you should now see something like this

![](/files/-MW3v4Cx5o6YEhexLnXS)

at Default Work Unit right-click and select > Import Audio Files

![](/files/-MW3vGUrE32RbO1M4bDo)

Make sure import mode and import as is the same as this&#x20;

![](/files/-MW3vRURkT_pN4mC02cy)

now just drag in any sound files you have into that window, (must be a .wav file), then select import&#x20;

![](/files/-MW3w9cFNp6o75yOu8nB)

now if you expand Default Work unit you should see your sound files.

![](/files/-MW3wJoVgkdwsF5wd2pf)

Now, we want to make our audio affected by the in-game audio settings, so first, you want to select Game Sync in the top left.

![](/files/-MW3weA-QDAv0QUh6xFR)

Then Right-Click Default Work Unit under the GameParameters folder, select new child, then Game Parameter ![](/files/ZOMne63WwpAIVuAS0c2P)

![](/files/-MW3wto1fG3dNlL8-XC5)

name it VOL\_SFX

![](/files/-MW3wzKLkJm6aAKeXMMd)

then do it another time but name it VOL\_MUS&#x20;

and then do it one more time but name it VOL\_UI

now you select your audio file back in the Audio tab, and this should show up&#x20;

![](/files/-MW3xGv2PWXc3pjr3Fel)

select RTPC at the top

![](/files/-MW3xO2ZC6CHiNtrW8bE)

then, at the bottom select the little 3 arrows

![](/files/-MW3xY2kXPlZw_oF36je)

![](/files/-MW3xbUPN1Ox1mmjIDC6)

and press voice volume at the bottom&#x20;

![](/files/-MW3xjyYuKz8d6rF3KcJ)

then, select the second arrows&#x20;

![](/files/-MW3xsIGUP474VP5049x)

select VOL\_SFX if you want it to get affected by sound volume,

select VOL\_MUS if you want it to get affected by music volume,

or select VOL\_UI if you want it to get affected by ui volume.

![](/files/-MW3y5Y1xwPqtgiEd7tP)

do this for any audio files you have.

now back in the audio tab we right-click our sound and select New Event > Play

![](/files/-MW3yNUTitpL1Q6qhrnd)

In the bottom Left event viewer, you should now see Play\_YourFileName

![](/files/-MW3yeXXFusYUQbeECv7)

do this for all of your audio files.

now at the top, we need to go to Layouts and select SoundBank

![](/files/-MW3yr_qRJ_iWA5c8wJA)

you should now see this

![](/files/-MW3yy8Dxz1HMaFc1mgo)

Press New

![](/files/-MW3z3QnYUVHO72bqNZj)

And name it whatever you want&#x20;

![](/files/-MW3z9wumdH8wGlovw1Z)

click ok.

if you expand Default Work Unit you should see your Soundbank.

![](/files/DGwJdF5SIIoU6DB42jMP)

now select your soundbank and look at the SoundBank editor at the bottom.

![](/files/-MW3zeglDZGOjrDiYrll)

now drag in all the event from your event viewer into the soundbank editor, they should show up&#x20;

![](/files/-MW3zsfgOTlsAGVcZejU)

now check these buttons in the soundbank manager

![](/files/-MW4--A5fXjVdIFc3IMt)

enable your soundbank&#x20;

![](/files/-MW4-61XEltMOoiO-WoN)

now select generate and drag your soundbank into your mod folder&#x20;

![](/files/-MW4-Slb3VRjGSqTGTV4)

it should now work.

if you don't know where it generated you can check/change it in user settings

![](/files/-MW4-d38si8Fd33dmK-9)

Check Override sound banks if you want to change it&#x20;

![](/files/-MW4-mjsJ90XsUy4xVKJ)

to play your sound effect simply in code type

```csharp
AkSoundEngine.PostEvent("The_Event_For_The_sound", whateverGamobjectShouldPlayIt);
```

the event in my example was Play\_Bonk.

{% endtab %}
{% endtabs %}
