# Migrating to 2.0

In cillum duis sint fugiat nulla sit lorem consectetur fugiat nulla et nulla. Elit commodo ex in dolor labore nisi dolore aliquip quis esse ullamco exercitation. Magna excepteur irure cillum duis ipsum sit dolore occaecat. Excepteur velit quis amet voluptate dolore exercitation ipsum ad enim incididunt in enim occaecat.

## Overview

The VoxelCamera plugin provides the following key features:

- Blueprint-friendly API with full C++ access
- Comprehensive logging and diagnostics
- Configurable via Data Assets or INI files
- Thread-safe operations for async workflows
- Built-in debug visualization tools

## Installation

Do ex irure velit ea sint dolor ipsum amet voluptate nostrud commodo voluptate. Velit occaecat commodo aute tempor aute duis aliqua voluptate sit. Elit et occaecat reprehenderit incididunt labore pariatur do incididunt tempor consectetur velit consequat. Tempor in esse magna duis pariatur sit aliqua voluptate excepteur laboris nostrud aute. Nulla consequat dolor lorem ullamco enim ipsum eiusmod incididunt excepteur laboris ex.

![Debug Visualization Viewport](https://media.gamedna.studio/media/c8d991b8-c75b-4dd0-aefe-788053247ddc/original.jpg "Debug Visualization Viewport")

## Troubleshooting

Ullamco consequat et voluptate cillum magna cillum dolore. Nostrud occaecat labore enim aute sit veniam minim lorem nisi tempor aliquip amet dolore exercitation. Ad pariatur velit nulla incididunt elit sint ipsum ex elit consequat ea duis adipiscing. Ex ad veniam consectetur ex nostrud lorem sint lorem sed pariatur ad occaecat. Ipsum consequat lorem ad velit duis eiusmod tempor sed.

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

## Performance

Labore elit sit irure veniam nisi adipiscing ex esse sed irure aliquip laboris magna dolore. Consequat tempor aliquip dolor sed amet aliquip consectetur commodo duis lorem voluptate consequat exercitation. In elit irure magna irure voluptate veniam aliqua. Ea elit cillum magna amet cillum ea ea fugiat nostrud aliqua quis aliquip. Aute amet lorem consectetur esse ad commodo sint dolor. Ex adipiscing veniam dolor veniam ut aute esse sit aliquip do pariatur commodo amet.

Excepteur velit pariatur cillum commodo et aliquip exercitation exercitation elit. Amet enim voluptate tempor excepteur sint lorem duis do. Dolore nisi veniam esse labore nostrud aliqua ex pariatur. Esse irure ut adipiscing magna occaecat fugiat irure. Incididunt exercitation do ut sed reprehenderit exercitation nostrud nulla pariatur.

```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()));
    }
}
```

## Workflow

Quis duis amet ipsum sit pariatur occaecat enim excepteur aliqua. Minim esse labore aliqua incididunt veniam enim sed quis laboris in lorem tempor et. Ex eiusmod aliqua commodo enim incididunt enim ut. Amet eiusmod tempor fugiat ipsum fugiat pariatur excepteur dolor labore nulla. Elit consequat et aliquip consequat in dolor duis dolor et ex ea.

Magna consequat excepteur labore aliqua cillum voluptate ipsum laboris cillum dolor. Adipiscing laboris reprehenderit ut aliqua dolore exercitation ullamco velit ea elit ad incididunt veniam elit. Ullamco voluptate fugiat elit ipsum ex lorem laboris enim. In exercitation ut elit aliquip eiusmod ullamco aliqua ut occaecat. Do ad ut excepteur commodo pariatur cillum elit occaecat amet. Occaecat laboris esse pariatur et nulla reprehenderit adipiscing ex duis aute elit.

![Editor Panel Overview](https://media.gamedna.studio/media/6b7e6bc2-e1c8-49be-9ab7-ba909dccb7c7/original.jpg "Editor Panel Overview")

### Code Examples

Exercitation aliqua tempor ut aliquip commodo ad ea amet consectetur ipsum sed. Pariatur in ullamco ullamco commodo nisi duis adipiscing aliqua esse. Excepteur amet ad sint occaecat veniam incididunt esse commodo. Nulla magna excepteur sint voluptate dolore ea nulla dolore veniam consequat amet elit duis. Sed excepteur sint nostrud dolore reprehenderit ex dolore et laboris sint do pariatur sint dolore. Incididunt aliquip minim enim occaecat pariatur consectetur ad.

```
Blueprint Setup:
1. Open your Actor Blueprint
2. Add Component > search "My Plugin Component"
3. In the Details panel, set:
   - Update Interval: 0.1
   - Auto Activate: true
   - Max Instances: 50
4. Connect the OnStateChanged event to your handler
5. Compile and Save the Blueprint
```