# Weapon Specific Impact Sounds

Soulslike Framework comes with an example sound handling system that is tied to the combat. [Player's Combat Manager](/components-managers/player-specific-components/combat-manager.md) & the [AI's Combat Manager](/components-managers/ai-only-components/ai-combat-manager.md) are responsible for handling the sounds.&#x20;

However, for some projects, this might be limiting. In this page, we will look at how we can extend this system.

### Weapon Specific Impact Sounds

Start by adding a new property of type **SoundBase** to the **Base Weapon Actor (B\_Item\_Weapon):**

<figure><img src="/files/P2OICAQ5tMvuFYC7O6db" alt=""><figcaption></figcaption></figure>

Now, head into **AC\_CombatManager** and find the **HandleIncomingWeaponDamage** method. We'll add a new input for our new sound property:

<figure><img src="/files/ACpzvGFw1czaD5r18PvQ" alt=""><figcaption></figcaption></figure>

Let's ensure that we pass this new property we created to this method inside the **Base AI Weapon class (B\_Item\_AI\_Weapon):**

<figure><img src="/files/oMhqZSYOrdkzzTSCVyEh" alt=""><figcaption></figcaption></figure>

Back in **AC\_CombatManager,** lets adjust the main method for handling incoming weapon damage (this is where the passed sounds are being played):

1. Adjust the sound logic that is triggered when player's Stance is broken:

<figure><img src="/files/fqzjmKT8RPCyCyNHBg3W" alt=""><figcaption></figcaption></figure>

2. Adjust the sound logic that is triggered if player is not guarding:

<figure><img src="/files/QnpuKKNy97HXMf1WW7ua" alt=""><figcaption></figcaption></figure>

That's it! Now, you can give each AI weapon actor its own **impact** sound:

<figure><img src="/files/npxQuMrTY6kc5bbgKczD" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
You can adjust the similar methods in **AC\_AI\_CombatManager** to also make player weapons' impact sounds specific to each weapon.
{% endhint %}

### Unarmed Impact Sounds

#### AI Dealing Unarmed Damage to Player:&#x20;

Head inside **AC\_AI\_CombatManager** component and create new properties for:

1. Unarmed Impact Sound
2. Unarmed Guard Sound (when unarmed attack has been guarded by player)
3. Unarmed Perfect Guard Sound (when unarmed attack has been perfect-guarded by player)

Then adjust the **ApplyFistDamage** method:

<figure><img src="/files/VQw8tYrE7H1SVeXvWqih" alt=""><figcaption></figcaption></figure>

#### Player Dealing Unarmed Damage to AI:

Head into the **AC\_AI\_CombatManager** component and into the **HandleIncomingWeaponDamage\_AI** method. Add a new input pin of type **SoundBase:**

<figure><img src="/files/HQwV8WWyCFpUFfDgiYx4" alt=""><figcaption></figcaption></figure>

Adjust the sound logic in the method to utilize this new pin we added:

<figure><img src="/files/MWNWdNwsNoTpDTMePvq5" alt=""><figcaption></figcaption></figure>

Then, create a new property inside **AC\_CombatManager** for the unarmed impact sound. Head inside the **ApplyFistDamage** method and utilize this new property:

<figure><img src="/files/J0oX9YbpdFJzHQ4UzMRk" alt=""><figcaption></figcaption></figure>


---

# 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://soulslike-framework.isik.vip/extending-functionality/weapon-specific-impact-sounds.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.
