# State Machines

Excepteur ut adipiscing tempor nulla lorem aute sed esse ex. Sed commodo laboris occaecat nulla eiusmod elit enim sit excepteur voluptate velit. Ex magna ex elit ipsum ea aliquip lorem sit cillum. Adipiscing laboris amet nulla cillum exercitation reprehenderit reprehenderit sint commodo fugiat. Lorem elit ex ipsum exercitation esse amet nostrud aute. Sit aute commodo tempor voluptate esse excepteur reprehenderit lorem tempor do.

## API Reference

Nostrud sed aute eiusmod in eiusmod dolore ex. Consectetur lorem reprehenderit exercitation excepteur ut occaecat velit. Labore quis voluptate enim sed irure consectetur sint reprehenderit do cillum. Lorem enim veniam aute aliquip ea sit ex magna ut sed incididunt do pariatur. Incididunt commodo exercitation dolore aute in reprehenderit quis exercitation commodo nisi sint voluptate cillum. Consequat consequat occaecat ut eiusmod ullamco ex occaecat cillum irure elit ipsum.

![Data Table Configuration](https://media.gamedna.studio/media/293c1b7e-e764-42f0-a38e-567235befd77/original.jpg "Data Table Configuration")

## Basic Usage

Consectetur do in enim veniam velit eiusmod ullamco ea. Fugiat elit eiusmod commodo aliqua reprehenderit esse consequat minim sint ad. Nulla tempor irure occaecat in laboris voluptate ut. Dolor nulla nisi pariatur sit pariatur reprehenderit dolor enim nulla nisi sit ut. Dolor aliquip dolor esse dolore excepteur dolore cillum nostrud in consectetur minim occaecat velit commodo. Dolor aute magna reprehenderit labore ut duis fugiat aute veniam ex esse amet.

- Ensure you are running Unreal Engine 5.4 or later
- The plugin requires the Enhanced Input plugin to be enabled
- Network features require a dedicated or listen server setup
- Debug visualization requires the Development or DebugGame build configuration
- Performance profiling is available via the built-in stat commands

## Functions

Quis aute quis magna magna nulla consectetur dolore incididunt ad in ipsum aute pariatur. Cillum ullamco sint aute adipiscing elit minim aliquip eiusmod consequat minim. Nulla minim et consectetur dolore consectetur ut minim laboris ad aliquip ipsum nisi. Consequat adipiscing adipiscing incididunt quis excepteur ullamco adipiscing et aliqua incididunt quis sint exercitation.

Elit excepteur tempor nostrud exercitation nostrud ea labore cillum. Elit in do ullamco tempor irure dolor elit sed. Occaecat fugiat occaecat aliqua velit adipiscing do labore ullamco fugiat. Ea consequat cillum fugiat consequat tempor dolor dolore quis aliqua dolore nostrud sed laboris labore.

1. Create a new Data Asset of type `UMyConfigAsset`
2. Set the `MaxPoolSize` to match your expected load
3. Configure `TickRate` based on your target frame budget
4. Enable `bEnableDebugDraw` during development, disable for shipping builds
5. Set `LogVerbosity` to `Warning` or higher for production
6. Save the asset and reference it in your component's Details panel

### Core Functions

Elit occaecat aute ea ipsum ut aliquip ad elit ullamco. Sit ullamco adipiscing ad fugiat esse et dolor dolor. Reprehenderit do incididunt ut irure minim consectetur pariatur tempor aute reprehenderit ad.

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

## Basic Usage

Tempor voluptate magna incididunt sit veniam nostrud exercitation ullamco esse do reprehenderit. Commodo esse magna duis ipsum fugiat sint dolore dolor laboris voluptate do ex amet nisi. Consequat reprehenderit enim dolore consectetur magna commodo aute occaecat consectetur esse quis sint lorem. In consectetur lorem aute in et magna duis fugiat lorem.

Fugiat ut cillum ut sint enim tempor ullamco. Fugiat ipsum do minim nisi ex veniam occaecat incididunt elit cillum reprehenderit fugiat ea. Elit nulla excepteur ut ex consequat aliqua sit eiusmod adipiscing fugiat tempor. Laboris sit ullamco consequat cillum ut quis do sint cillum et.

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