# UVoxelCameraSubsystem

`UVoxelCameraSubsystem` belongs to the VoxelCamera runtime module.

Labore commodo voluptate et consectetur consectetur et eiusmod occaecat sit pariatur dolor amet aliqua ea. Et nulla tempor sed commodo enim veniam amet irure consectetur reprehenderit. Aliqua reprehenderit aliquip aliquip ad nulla commodo fugiat incididunt voluptate enim do ex consectetur. Lorem irure et pariatur ea cillum reprehenderit sit velit. Irure lorem aliquip esse in aliqua fugiat excepteur consectetur et ut incididunt voluptate sit et.

## Declaration

```cpp
UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class VOXEL_CAMERA_API UMyComponent : public UActorComponent
{
    GENERATED_BODY()

public:
    UMyComponent();

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings")
    float UpdateInterval = 0.1f;

    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings")
    bool bAutoActivate = true;

    UFUNCTION(BlueprintCallable, Category = "VoxelCamera")
    void SetConfiguration(const FMyConfig& Config);

protected:
    virtual void BeginPlay() override;
    virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;

private:
    FMyConfig CurrentConfig;
    float TimeSinceLastUpdate = 0.0f;
};
```

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

```ini
; DefaultEngine.ini
[/Script/VoxelCamera.VoxelCameraSettings]
bEnabled=true
MaxPoolSize=100
TickRate=60.0
LogVerbosity=Warning
bEnableDebugDraw=false

[/Script/VoxelCamera.VoxelCameraNetworkSettings]
bReplicateState=true
UpdateFrequency=10.0
MaxReplicationDistance=10000.0
```