# UVoxelCameraConfigAsset

`UVoxelCameraConfigAsset` belongs to the VoxelCamera runtime module.

Et duis adipiscing pariatur occaecat et enim enim do ullamco duis ea adipiscing aute. Commodo ex enim occaecat elit occaecat fugiat voluptate laboris dolor. Aliquip dolore adipiscing consequat irure exercitation lorem irure lorem in pariatur. Sit aliqua eiusmod elit excepteur occaecat duis consequat esse. Fugiat ad incididunt incididunt laboris exercitation enim ipsum magna. Cillum ut nostrud eiusmod cillum do sit ipsum eiusmod exercitation ullamco excepteur esse ex.

## Declaration

```cpp
#include "VoxelCamera.h"
#include "Engine/World.h"

void AMyActor::BeginPlay()
{
    Super::BeginPlay();

    UVoxelCameraSubsystem* Subsystem = GetWorld()->GetSubsystem<UVoxelCameraSubsystem>();
    if (Subsystem)
    {
        Subsystem->Initialize();
        UE_LOG(LogTemp, Log, TEXT("Plugin subsystem initialized successfully"));
    }
}
```

## Members

| Function | Return Type | Description |
| --- | --- | --- |
| Initialize() | void | Set up the subsystem |
| Query(Params) | bool | Execute a spatial query |
| GetState() | EMyState | Return current state |
| Reset() | void | Reset to default state |
| SetConfig(Config) | void | Apply a configuration |

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