# FVoxelWaterPulseOnError

`FVoxelWaterPulseOnError` belongs to the VoxelWaterPulse runtime module.

Sit veniam nisi eiusmod nisi ipsum cillum laboris. Magna ad ex esse enim reprehenderit occaecat elit. Lorem nulla consectetur incididunt incididunt aliqua do esse laboris veniam nulla ex elit quis sit. Voluptate ullamco ullamco quis ad adipiscing nostrud irure voluptate minim nisi irure incididunt aliqua dolore. Ullamco nisi exercitation tempor ea ipsum commodo in reprehenderit consequat ea adipiscing nisi consequat.

## Declaration

```yaml
# Plugin configuration (VoxelWaterPulse.yaml)
plugin:
  name: VoxelWaterPulse
  version: 2.0
  settings:
    max_pool_size: 100
    tick_rate: 60.0
    debug:
      enabled: false
      draw_bounds: false
      log_level: warning
    network:
      replicate: true
      update_frequency: 10.0
```

## Members

| Parameter | Type | Default | Description |
| --- | --- | --- | --- |
| MaxPoolSize | int32 | 100 | Maximum number of pooled objects |
| TickRate | float | 60.0 | Update frequency in Hz |
| bAutoActivate | bool | true | Activate on BeginPlay |
| LogVerbosity | ELogVerbosity | Warning | Minimum log level |
| ReplicationMode | ERepMode | Reliable | Network replication strategy |

## Example

```cpp
// Query the subsystem for nearby actors with filtering
TArray<AActor*> Results;
FMyQueryParams Params;
Params.Origin = GetActorLocation();
Params.Radius = 1000.0f;
Params.MaxResults = 10;
Params.bIncludeHidden = false;
Params.FilterClass = AMyTargetActor::StaticClass();

if (Subsystem->Query(Params, Results))
{
    for (AActor* Actor : Results)
    {
        UE_LOG(LogTemp, Log, TEXT("Found: %s at distance %.1f"),
            *Actor->GetName(),
            FVector::Dist(Params.Origin, Actor->GetActorLocation()));
    }
}
```

> **Warning:** Modifying these settings at runtime may cause unexpected behavior. Always set configuration before calling Initialize().