# questsystem.Stats

`questsystem.Stats` belongs to the QuestSystem runtime module.

Magna occaecat dolor minim dolore eiusmod ex exercitation fugiat lorem commodo ut pariatur sint. Voluptate ullamco irure sit sint quis veniam esse ad amet reprehenderit do tempor adipiscing. Ad magna tempor nulla quis ut ad reprehenderit commodo sint aliqua ullamco. Consequat ullamco enim reprehenderit adipiscing elit ea incididunt ad in sint dolor occaecat. Enim labore minim reprehenderit tempor ad labore sed. Aute excepteur voluptate do magna dolor adipiscing irure.

## Declaration

```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());
}
```

## Members

| Event | Parameters | Description |
| --- | --- | --- |
| OnStateChanged | EMyState NewState | Fired when state transitions |
| OnProgressUpdated | float Progress, FString Message | Fired on progress change |
| OnError | FString ErrorMessage, int32 Code | Fired on error |
| OnInitialized | bool bSuccess | Fired after initialization |

## Example

```ini
; DefaultEngine.ini
[/Script/QuestSystem.QuestSystemSettings]
bEnabled=true
MaxPoolSize=100
TickRate=60.0
LogVerbosity=Warning
bEnableDebugDraw=false

[/Script/QuestSystem.QuestSystemNetworkSettings]
bReplicateState=true
UpdateFrequency=10.0
MaxReplicationDistance=10000.0
```

> **Warning:** Debug visualization has a measurable performance cost. Always disable it in shipping builds.