# FAutoMeshEngineOnError

`FAutoMeshEngineOnError` belongs to the AutoMesh Engine runtime module.

Dolore veniam labore velit esse ullamco commodo amet aute lorem. Sed et magna nisi ex voluptate sed esse nisi sit tempor ad do. Elit dolore consequat consectetur exercitation incididunt aute laboris. Velit et do duis consequat consequat fugiat duis consequat commodo ut sit aliquip. Ipsum incididunt ipsum sit enim quis irure ut aliquip nulla occaecat tempor veniam.

## Declaration

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

## Members

| Event | Parameters | Description |
| --- | --- | --- |
| OnStateChanged | EMyState NewState | Fired when state transitions |
| OnProgressUpdated | float Progress, FString Message | Fired on progress change |
| OnError | FString ErrorMessage, int32 Code | Fired on error |
| OnInitialized | bool bSuccess | Fired after initialization |

## Example

```cpp
// Unit test example
IMPLEMENT_SIMPLE_AUTOMATION_TEST(
    FAutoMesh EngineBasicTest,
    "AutoMesh Engine.Core.BasicFunctionality",
    EAutomationTestFlags::ApplicationContextMask | EAutomationTestFlags::ProductFilter
)

bool FAutoMesh EngineBasicTest::RunTest(const FString& Parameters)
{
    UAutoMesh EngineSubsystem* Subsystem = NewObject<UAutoMesh EngineSubsystem>();
    TestNotNull(TEXT("Subsystem should be created"), Subsystem);

    Subsystem->Initialize();
    TestTrue(TEXT("Subsystem should be initialized"), Subsystem->IsInitialized());

    FMyQueryParams Params;
    Params.Radius = 500.0f;
    TestTrue(TEXT("Query params should be valid"), Params.IsValid());

    return true;
}
```