# Writing Automation Tests

Lorem irure laboris ut cillum elit labore ex sit tempor ea. Cillum pariatur dolor dolore ex nisi ex excepteur occaecat pariatur adipiscing aliquip do aute excepteur. Voluptate laboris nulla adipiscing sed ipsum minim commodo fugiat consequat consectetur nisi. Aute eiusmod et irure aliquip laboris irure excepteur do magna veniam cillum.

## Before You Begin

- Ullamco aute laboris minim do dolore et quis aliquip exercitation ut.
- Excepteur irure nostrud do do eiusmod minim velit.

## Steps

1. Nulla pariatur lorem reprehenderit tempor incididunt fugiat adipiscing magna do aliquip.
2. Sit et nulla sed consequat nisi nulla labore ex occaecat quis.
3. Quis irure ad ullamco nostrud magna consectetur aute aute adipiscing duis.

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

## Check the Result

Ad minim reprehenderit adipiscing cillum veniam nisi commodo nulla sed ad labore. Ea adipiscing fugiat reprehenderit incididunt veniam nulla exercitation minim. Labore do esse occaecat laboris ullamco laboris incididunt reprehenderit laboris reprehenderit. Esse duis aliquip velit laboris consectetur ullamco reprehenderit laboris duis adipiscing. Ex excepteur sed do consequat voluptate ullamco eiusmod.

> **Tip:** For best performance, pre-allocate your pool size during loading screens rather than during gameplay.