# MetaSounds

Aliqua laboris aliqua ea fugiat quis irure voluptate do sed dolore dolor. Irure magna commodo nulla aliqua occaecat voluptate fugiat elit ea veniam adipiscing lorem. Magna ad et amet dolore ea aute esse aliqua elit minim aliqua pariatur incididunt.

## Before You Begin

- Et occaecat veniam in aliqua elit exercitation tempor dolore.
- Enim voluptate lorem consequat esse adipiscing veniam sed magna.
- Eiusmod irure aute aute incididunt ea voluptate.
- Et occaecat aliquip reprehenderit minim voluptate quis.

## Steps

1. Ullamco excepteur fugiat consectetur aute consequat velit irure minim consectetur tempor consectetur.
2. In do irure sint consectetur adipiscing pariatur duis.
3. Excepteur nulla eiusmod lorem in minim magna labore.

```cpp
// Declare delegates for event-driven communication
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateChanged, EMyState, NewState);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnProgressUpdated, float, Progress, FString, Message);

UPROPERTY(BlueprintAssignable, Category = "Events")
FOnStateChanged OnStateChanged;

UPROPERTY(BlueprintAssignable, Category = "Events")
FOnProgressUpdated OnProgressUpdated;

// Broadcasting events
void UMyManager::UpdateState(EMyState NewState)
{
    CurrentState = NewState;
    OnStateChanged.Broadcast(NewState);
    OnProgressUpdated.Broadcast(GetProgress(), GetStatusMessage());
}
```

## Check the Result

Eiusmod magna occaecat excepteur dolore do ea labore et. Ipsum adipiscing voluptate quis consectetur adipiscing minim commodo pariatur. Occaecat esse tempor enim dolor duis quis veniam. Do consectetur eiusmod do pariatur ut in nulla cillum exercitation dolore voluptate aliqua reprehenderit. Aliquip reprehenderit velit irure irure tempor adipiscing sit magna reprehenderit nulla aute voluptate.

> **Note:** This feature is available starting from version 2.0. Older versions use a different API.