# UAutoMeshEngineComponent

`UAutoMeshEngineComponent` belongs to the AutoMesh Engine runtime module.

Labore minim sit irure quis excepteur ullamco duis aute consectetur exercitation enim ex consequat dolore. Commodo duis dolore incididunt elit ipsum commodo nisi aliqua nisi exercitation velit. Voluptate nostrud dolore sit occaecat lorem excepteur voluptate esse.

## Declaration

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

## Members

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

## Example

```cpp
// Declare delegates for event-driven communication
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnStateChanged, EMyState, NewState);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnProgressUpdated, float, Progress, FString, Message);

UPROPERTY(BlueprintAssignable, Category = "Events")
FOnStateChanged OnStateChanged;

UPROPERTY(BlueprintAssignable, Category = "Events")
FOnProgressUpdated OnProgressUpdated;

// Broadcasting events
void UMyManager::UpdateState(EMyState NewState)
{
    CurrentState = NewState;
    OnStateChanged.Broadcast(NewState);
    OnProgressUpdated.Broadcast(GetProgress(), GetStatusMessage());
}
```

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