# EVoxelWaterPulseMode

`EVoxelWaterPulseMode` belongs to the VoxelWaterPulse runtime module.

Exercitation duis elit magna consequat ea ullamco veniam sint duis. Excepteur duis sit fugiat enim minim commodo voluptate consectetur duis. Sint sed commodo dolor aliquip amet ullamco enim lorem elit dolore ipsum occaecat.

## Declaration

```cpp
// Load configuration from data asset
UMyConfigAsset* Config = LoadObject<UMyConfigAsset>(
    nullptr,
    TEXT("/Game/Config/DefaultPluginConfig.DefaultPluginConfig")
);

if (Config)
{
    Settings.MaxPoolSize = Config->MaxPoolSize;
    Settings.TickRate = Config->TickRate;
    Settings.bEnableDebugDraw = Config->bEnableDebugDraw;
    Settings.LogVerbosity = Config->LogVerbosity;

    UE_LOG(LogVoxelWaterPulse, Log, TEXT("Configuration loaded: PoolSize=%d, TickRate=%.2f"),
        Settings.MaxPoolSize, Settings.TickRate);
}
```

## 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/VoxelWaterPulse.VoxelWaterPulseSettings]
bEnabled=true
MaxPoolSize=100
TickRate=60.0
LogVerbosity=Warning
bEnableDebugDraw=false

[/Script/VoxelWaterPulse.VoxelWaterPulseNetworkSettings]
bReplicateState=true
UpdateFrequency=10.0
MaxReplicationDistance=10000.0
```

> **Tip:** For best performance, pre-allocate your pool size during loading screens rather than during gameplay.