# How to change in-game SFX

Files & folders needed:

> assets/gameplay/sfx\_manager.json
>
> assets/sounds/

In file <mark style="color:orange;">assets/gameplay/sfx\_manager.json</mark> you can change sounds that played when player do something for example:

* Open Inventory
* Clicking button
* etc.

The JSON structure is:

{% code title="sfx\_manager.json" %}

```json
{
    "_comment": "THIS FILE CONTROLS WHAT KIND OF SOUND WILL BE PLAYED WHEN OPENING WINDOWS, LOOTING, ITEM TAKING ETC.",
    "_comment": "WRITE ONLY FILE NAME OF SOUND. BEFORE DON'T FORGET TO PLACE *.WAV OR *.MP3 TO 'ASSETS/SOUNDS/'",
    
    "on_dialogue_open": "click_sound",
    "on_loot_open": "click_sound",
    "on_pause_open": "no_snd",
    "on_trade_open": "click_sound",
    "on_dialogue_replic_click": "click_sound",
    "on_item_use": "click_sound",
    "on_usable_zone_used": "click_sound",
    "on_loot_money_used": "no_snd",
    "on_skill_click": "click_sound",
    "on_map_marker_click": "click_sound",
    "on_pause_resume_click": "click_sound",
    "on_pause_mainmenu_click": "click_sound",
    "on_pause_options_click": "click_sound",
    "on_pause_inv_click": "click_sound",
    "on_pause_map_click": "click_sound",
    "on_pause_character_click": "click_sound",
    "on_pause_journal_click": "click_sound",
    "on_msg_btn_click": "click_sound",
    "geiger_sound": ["geiger_1","geiger_2","geiger_3","geiger_4","geiger_5","geiger_6","geiger_7"]
}
```

{% endcode %}

All sound names are taken from assets/sounds/ folder, there are can be one level of deepness:

```
assets/sounds/ - OK
assets/sounds/UI/ - OK

assets/sounds/UI/Buttons/ - NOT OK
```

If property has one sound name, it always will be playing that sound, if there square brackets, it will be a list of sounds and it will plays it randomly.

```
"sound_name" - play only that sound
["sound_name", "sound_name2"] - randomly plays one of the sounds from list
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://picnic-in-the-oblivion.gitbook.io/assets/modding/how-to-change-in-game-sfx.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
