UAutoMeshEngineAudioComponent

v1.0
View as Markdown

UAutoMeshEngineAudioComponent belongs to the AutoMesh Engine runtime module.

Cillum aliquip nostrud ad amet nulla occaecat fugiat lorem veniam adipiscing nisi ipsum ullamco. Ullamco exercitation in tempor laboris ut labore nisi sit fugiat sed consectetur. Ea excepteur adipiscing sit veniam voluptate ipsum enim nulla aute quis. Tempor fugiat elit adipiscing excepteur ad ad laboris ullamco dolore enim consequat amet do sint. Et aliquip veniam lorem excepteur labore commodo ullamco et cillum occaecat minim.

Declaration

 1UCLASS(ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
 2class AUTO_MESH_ENGINE_API UMyComponent : public UActorComponent
 3{
 4    GENERATED_BODY()
 5
 6public:
 7    UMyComponent();
 8
 9    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings")
10    float UpdateInterval = 0.1f;
11
12    UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Settings")
13    bool bAutoActivate = true;
14
15    UFUNCTION(BlueprintCallable, Category = "AutoMesh Engine")
16    void SetConfiguration(const FMyConfig& Config);
17
18protected:
19    virtual void BeginPlay() override;
20    virtual void TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction) override;
21
22private:
23    FMyConfig CurrentConfig;
24    float TimeSinceLastUpdate = 0.0f;
25};

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

 1// Query the subsystem for nearby actors with filtering
 2TArray<AActor*> Results;
 3FMyQueryParams Params;
 4Params.Origin = GetActorLocation();
 5Params.Radius = 1000.0f;
 6Params.MaxResults = 10;
 7Params.bIncludeHidden = false;
 8Params.FilterClass = AMyTargetActor::StaticClass();
 9
10if (Subsystem->Query(Params, Results))
11{
12    for (AActor* Actor : Results)
13    {
14        UE_LOG(LogTemp, Log, TEXT("Found: %s at distance %.1f"),
15            *Actor->GetName(),
16            FVector::Dist(Params.Origin, Actor->GetActorLocation()));
17    }
18}

Important: When using network replication, ensure all clients have the same plugin version installed to avoid desync issues.