> For the complete documentation index, see [llms.txt](https://bahnproductions.gitbook.io/bahnproductions-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bahnproductions.gitbook.io/bahnproductions-docs/bahn-productions-ue-plugins/advanced-audio-system/core-shared-audio-system/api-references/aas_audiosysteminterface.md).

# AAS\_AudioSystemInterface

```cpp
class ADVANCEDAUDIOSYSTEM_API IAAS_AudioSystemInterface
```

Interface for the Advanced Audio System (AAS). Provides a foundation for managing and interacting with audio systems, enabling communication between the AudioSubsystem, components, and gameplay related audio-logic. This interface is minimal and can be extended as needed.

**Key Features:**

* Modular design with support for Foley and Weapon audio systems.
* Exposes functionality for retrieving and managing audio banks.
* Facilitates the implementation of audio events, including playback and interaction.
* Blueprint-compatible API for ease of use in Unreal Engine.

**Usage:**

Any actor or component that needs to communicate or integrate with audio-related systems should implement this interface. This could include retrieving audio banks, handling audio playback details, or allowing for subsystem-specific audio interactions.

***

### **Functions**

```actionscript-3
#pragma region Foley
    UFUNCTION(BlueprintImplementableEvent, Category = "AdvancedAudioSystem|FoleyAudioBank")
    void GetFoleyAudioBank(UAAS_FoleyAudioBankData*& OutAudioBankData);

    UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "AdvancedAudioSystem|FoleyAudioBank")
    void SetFoleyAudioBank(UAAS_FoleyAudioBankData* InAudioBankData);

    UFUNCTION(BlueprintImplementableEvent, Category = "AdvancedAudioSystem|FoleyAudioBank")
    bool CanPlayFootstepSounds();
#pragma endregion

#pragma region Weapons
    UFUNCTION(BlueprintImplementableEvent, Category = "AdvancedAudioSystem|Weapon")
    bool CanPlayWeaponSounds();

    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "AdvancedAudioSystem|Weapon")
    void OnWeaponInterrupted();
    
    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "AdvancedAudioSystem")
    void PlayAudioEvent(const FGameplayTag& EventTag, float VolumeMultiplier = 1.0f, float PitchMultiplier = 1.0f);
#pragma endregion 
```
