> For the complete documentation index, see [llms.txt](https://soulslike-framework.isik.vip/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://soulslike-framework.isik.vip/extending-functionality/weapon-specific-impact-sounds.md).

# 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>
