# UVoxelCameraWorldSubsystem

`UVoxelCameraWorldSubsystem` belongs to the VoxelCamera runtime module.

Irure et nostrud irure pariatur adipiscing ea eiusmod. Do nostrud in adipiscing amet esse ex magna. Consectetur minim eiusmod duis sed velit voluptate sint pariatur excepteur ea. Elit minim nulla in ipsum adipiscing do excepteur cillum eiusmod. Duis sint lorem laboris labore laboris dolore ullamco enim reprehenderit lorem do. Amet consectetur velit tempor ut occaecat esse exercitation.

## Declaration

```cpp
// Unit test example
IMPLEMENT_SIMPLE_AUTOMATION_TEST(
    FVoxelCameraBasicTest,
    "VoxelCamera.Core.BasicFunctionality",
    EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::ProductFilter
)

bool FVoxelCameraBasicTest::RunTest(const FString& Parameters)
{
    UVoxelCameraSubsystem* Subsystem = NewObject<UVoxelCameraSubsystem>();
    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

| 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 |

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