Interface defines in C++ can not be called in blueprint

I have an C++ interface setup with BlueprintNativeEvent & BlueprintCallable.
Give this a try.

.h:



#pragma once

#include "ItemActionsInterface.generated.h"

UINTERFACE(Blueprintable)
class UItemActionsInterface : public UInterface
{
    GENERATED_UINTERFACE_BODY()
};

class IItemActionsInterface
{
    GENERATED_IINTERFACE_BODY()

public:
    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Pickup", meta = (DisplayName = "Pickup Item"))
    bool PickupItem(class AItemActor* InItemActor);

    UFUNCTION(BlueprintNativeEvent, BlueprintCallable, Category = "Match", meta = (DisplayName = "Match Item"))
    bool MatchItem(int32 MatchType);
};  


.cpp:



// Copyright bla bla bla

#include "<YourGame>.h"
#include "ItemActionsInterface.h"

UItemActionsInterface::UItemActionsInterface(const FObjectInitializer& ObjectInitializer)
    : Super(ObjectInitializer)
{
}

bool IItemActionsInterface::PickupItem_Implementation(class AItemActor* InItemActor)
{
}

bool  IItemActionsInterface::MatchItem_Implementation(int32 MatchType)
{
}