# FDeltaCraftHubOnProgress

`FDeltaCraftHubOnProgress` belongs to the DeltaCraft Hub runtime module.

Enim ad laboris commodo exercitation quis esse occaecat sint ad cillum consectetur ad cillum nulla. Esse excepteur in aliqua tempor quis ullamco fugiat ut commodo incididunt amet incididunt sed duis. Tempor nisi cillum dolore irure nostrud aute lorem minim et dolor enim labore. Amet ut do enim veniam laboris excepteur laboris aute minim et esse sit laboris elit.

## Declaration

```cpp
// Unit test example
IMPLEMENT_SIMPLE_AUTOMATION_TEST(
    FDeltaCraft HubBasicTest,
    "DeltaCraft Hub.Core.BasicFunctionality",
    EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::ProductFilter
)

bool FDeltaCraft HubBasicTest::RunTest(const FString& Parameters)
{
    UDeltaCraft HubSubsystem* Subsystem = NewObject<UDeltaCraft HubSubsystem>();
    TestNotNull(TEXT("Subsystem should be created"), Subsystem);

    Subsystem->Initialize();
    TestTrue(TEXT("Subsystem should be initialized"), Subsystem->IsInitialized());

    FMyQueryParams Params;
    Params.Radius = 500.0f;
    TestTrue(TEXT("Query params should be valid"), Params.IsValid());

    return true;
}
```

## 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
// 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(LogDeltaCraft Hub, Log, TEXT("Configuration loaded: PoolSize=%d, TickRate=%.2f"),
        Settings.MaxPoolSize, Settings.TickRate);
}
```

> **Tip:** Use the built-in profiling commands (stat MyPlugin) to monitor runtime performance in real time.