image.png

  1. Declare Delegate

    DECLARE_DYNAMIC_DELEGATE_OneParams(FOnStatChanged, float, Value);
    

    <aside> ⚠️

    Only Dynamic! Not possible with MULTICAST.

    </aside>

  2. Create Delegate Variable

    FOnStatChanged OnStatChanged;
    
  3. Create Function

    UFUNCTION(BlueprintCallable)
    void FunctionName(FOnStatChanged Callback);
    
    void UClassName::FunctionName(FOnStatChanged Callback)
    {
    	OnStatChanged = Callback;
    }
    
  4. Call Delegate

    OnStatChanged.ExecuteIfBound(Value);