BP/NativeがDelegateを使いたいなら


DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnInventoryItemChanged, bool, bAdded, URPGItem*, Item);
DECLARE_MULTICAST_DELEGATE_TwoParams(FOnInventoryItemChangedNative, bool, URPGItem*);
/** Delegate called when an inventory item has been added or removed */
UPROPERTY(BlueprintAssignable, Category = Inventory)
FOnInventoryItemChanged OnInventoryItemChanged;

/** Native version above, called before BP delegate */
FOnInventoryItemChangedNative OnInventoryItemChangedNative;
void ARPGPlayerControllerBase::NotifyInventoryItemChanged(bool bAdded, URPGItem* Item)
{
	// Notify native before blueprint
	OnInventoryItemChangedNative.Broadcast(bAdded, Item);
	OnInventoryItemChanged.Broadcast(bAdded, Item);

	// Call BP update event
	InventoryItemChanged(bAdded, Item);
}
MULTICAST DELEGATEは青緑色では利用できないため、DYNAMIC MULTICAST DELEGATEが使用されていることがわかります.
BP/NativeがDelegateを呼び出す場合、このような構成が最も理想的なコードであると考えられます.