How do I create a BlueprintImplementableEvent inside a UInterface?

Hi!

I’m trying to port over an interaction system, which was using BlueprintImplementableEvents inside subclasses of Static and Skeletal mesh actors. However, this was getting messy, so I decided to move it over to an interface instead.

Now, that has me running into a problem - if I declare my functions like this in my interface:

UFUNCTION(BlueprintImplementableEvent)
	void OnUsed(ACharacter* Character, EGameInteractEnum::GameInteract InteractType);

The events won’t show up in Blueprints derived from a subclass which implements the interface, and I can’t extend functionality in C++. If I write it like this instead:

	virtual void OnUsed(ACharacter* Character, EGameInteractEnum::GameInteract InteractType);

and then override it in the subclass, the compiler complains about unresolved externals where I was using the events before.

I’m a little lost, and not sure what to do - any help would be greatly appreciated!