> 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/foley-audio-system/api-references/aas_foleyaudiocomponent.md).

# AAS\_FoleyAudioComponent

```cpp
class ADVANCEDAUDIOSYSTEM_API UAAS_FoleyAudioComponent : public UActorComponent, public IAAS_AudioSystemInterface
```

An actor component responsible for managing foley audio effects for a character, including movements such as footsteps, landing, jumping, and traversal sounds.

This class implements [AAS\_AudioSystemInterface](/bahnproductions-docs/bahn-productions-ue-plugins/advanced-audio-system/core-shared-audio-system/api-references/aas_audiosysteminterface.md), providing single-player and multiplayer movement handling for foley systems.

#### Properties

```actionscript-3
// Foley Footwear Tag
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Foley", meta = (Categories = "Foley.Footwear"))
FGameplayTag Footwear;

// Socket Configuration
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "AdvancedAudioSystem|TraversalConfiguration", meta = (DisplayName = "Traversal Socket Name"))
FName TraversalSocketName = FName("spine_03");

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "AdvancedAudioSystem|GroundConfiguration", meta = (DisplayName = "Left Foot Socket Name"))
FName LeftFootSocketName = FName("foot_l");

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "AdvancedAudioSystem|GroundConfiguration", meta = (DisplayName = "Right Foot Socket Name"))
FName RightFootSocketName = FName("foot_r");

// OnGround Trace Configuration
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "AdvancedAudioSystem|GroundConfiguration", meta = (DisplayName = "OnGround Trace Z Offset"))
FVector OnGroundTraceOffset = FVector(0.0f, 0.0f, -75.0f);

// Traversal Trace Configuration  
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "AdvancedAudioSystem|TraversalConfiguration", meta = (DisplayName = "Traversal Forward Multiplier"))
FVector TraversalForwardMultiplier = FVector(100.0f, 0.0f, 0.0f);

// Trace Configuration
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "AdvancedAudioSystem|TraversalConfiguration", meta = (DisplayName = "Traversal Sphere Radius"))
float TraversalSphereRadius = 55.0f;

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "AdvancedAudioSystem|TraversalConfiguration", meta = (DisplayName = "Traversal Trace Distance"))
float TraversalTraceDistance = 1000.0f;
    
// Movement State Tracking
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="AdvancedAudioSystem|Movement")
bool bJustLanded = false;

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="AdvancedAudioSystem|Movement")
FVector LandVelocity = FVector::ZeroVector;

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="AdvancedAudioSystem|Movement|Simulated")
bool bWasMovingOnGroundLastFrameSimulated = true;
```

#### Functions

```actionscript-3
// Event handlers that bind to Character delegates
UFUNCTION()
void OnCharacterLanded(const FHitResult& Hit);

// Movement event handling for simulated proxies
void UpdatedMovementSimulated(FVector OldVelocity);

// Blueprint Events
UFUNCTION(BlueprintImplementableEvent, Category = "AdvancedAudioSystem|Movement", meta = (DisplayName = "On Jumped"))
void K2_OnJumpedEvent(float GroundSpeedBeforeJump);
   
UFUNCTION(BlueprintImplementableEvent, Category = "AdvancedAudioSystem|Movement", meta = (DisplayName = "On Landed"))
void K2_OnLandedEvent(const FVector& InLandVelocity);

UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category="AdvancedAudioSystem|Audio")
void PlayAudioEvent(const FGameplayTag& Value, float VolumeMultiplier, float PitchMultiplier);
```
