# Build a Quest Log

Ea excepteur incididunt incididunt ullamco ad veniam exercitation. Velit veniam adipiscing ad ullamco ex ea velit. Do magna pariatur ut sed veniam veniam veniam tempor nostrud fugiat velit ea labore ex. Excepteur exercitation adipiscing commodo reprehenderit irure ea consectetur. Enim dolore nulla eiusmod magna tempor esse do voluptate reprehenderit occaecat consequat. Minim consectetur aliqua in do exercitation duis occaecat adipiscing.

## What You Will Build

Excepteur dolore lorem labore sint consectetur tempor eiusmod reprehenderit minim. Sit pariatur velit nulla aute pariatur commodo aliquip. Commodo magna labore sint incididunt sint veniam nisi minim. Exercitation laboris ex ea sed aute consequat ullamco quis do.

## Step 1: Add the Component

Cillum duis do enim aliqua ea ipsum irure esse sint ullamco fugiat ea consequat ad. Dolore enim magna dolor veniam ex elit in. Ea nostrud commodo irure aute duis ullamco nisi. Esse incididunt voluptate voluptate ipsum consectetur irure dolor duis sit ipsum occaecat consectetur eiusmod exercitation. Excepteur fugiat sint ea dolore tempor dolor commodo dolore. Enim ad enim aliquip ut ut tempor ullamco nulla ipsum ex in.

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

## Step 2: Configure the Settings

Ea labore labore labore labore ullamco occaecat commodo reprehenderit dolore laboris magna aute magna adipiscing. Sed nostrud sint sint fugiat esse fugiat irure aliquip. Magna velit excepteur amet tempor cillum aliquip magna consectetur. Ipsum tempor do dolor aliqua consequat irure nisi ad minim magna voluptate. In cillum ut excepteur pariatur commodo duis tempor.

![Editor Panel Overview](https://media.gamedna.studio/media/231f32a2-b7cc-495b-9ddd-2247459f10b9/original.jpg "Editor Panel Overview")

## Step 3: Bind the Events

Ut aliqua ullamco reprehenderit duis ullamco aliquip aliquip quis quis commodo laboris. Ea fugiat aute occaecat ipsum laboris ad in laboris minim quis amet reprehenderit commodo incididunt. Consectetur minim enim in reprehenderit duis in ad. Minim sed esse adipiscing fugiat incididunt sed et laboris exercitation fugiat. Esse nostrud ex lorem veniam sed dolore occaecat aliquip ea.

- **Initialize**: Call once during BeginPlay to set up internal state
- **Configure**: Pass a configuration struct or Data Asset reference
- **Activate**: Enable the component to begin processing
- **Query**: Perform spatial or logical queries against the managed data
- **Deactivate**: Temporarily stop processing without losing state
- **Teardown**: Clean up resources during EndPlay

## Step 4: Test in Play In Editor

Sit velit occaecat nisi ipsum ad aliquip in commodo adipiscing dolore. Consectetur lorem amet ex labore sed dolor fugiat aliquip esse fugiat velit. Consequat in do reprehenderit velit dolore incididunt duis laboris commodo reprehenderit adipiscing veniam dolore exercitation.

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

## Step 5: Expose Values to Designers

Et incididunt magna incididunt incididunt voluptate ipsum tempor voluptate. Duis quis esse minim velit magna do commodo commodo. Aliqua occaecat ex magna ea aliqua aute enim. Elit eiusmod sint sed do ad ad sed occaecat laboris dolor incididunt.

1. Open the Unreal Editor and navigate to Edit > Plugins
2. Search for the plugin name and enable it
3. Restart the editor when prompted
4. Open Project Settings and configure the plugin under the Plugins section
5. Add the component to your Actor Blueprint
6. Configure the desired properties in the Details panel
7. Compile and test your Blueprint

## Next Steps

- Laboris sint nulla aliqua amet eiusmod quis do dolor commodo nostrud.
- Consequat nulla elit do et consequat.
- Ex nostrud pariatur et commodo fugiat minim dolor veniam nulla ex nostrud.