Function 'NotifyQuestActor' called from Notify Quest Actor should not be called from a Blueprint

BlueprintImplementableEvent in the Converting Blueprint to C++ learning course is not working in UE 4.27. I tested both, following of the steps in the video as well as extracting the StarterKit → BlueprintImplementableEvent.zip, and checking there. In both instances, the NotifyQuestActor gives the same problem, but in two different ways.
If you follow the video, the Grab function can’t resolve the Notify Quest Actor function (it never updates to event and stays marked with f)
If you check the project from StarterKit, the Grab function shows Notify Quest Actor as an event, but gives the “Function ‘NotifyQuestActor’ called from Notify Quest Actor should not be called from a Blueprint” error.

So my questions are:

  1. Is this a bug in 4.27, and calling a C++ defined event (implemented via blueprint) from another blueprint is possible ?
  2. Has this use case been deprecated in 4.27 and it’s no longer possible, and, of course will you update the course ?

Thanks.

I’m experiencing this too.

I solved this problem by adding additional Function Specifiers to the NotifyQuestActor function declaration. I believe it was caused by not having a default category.

Here is the function declaration that worked for me:

UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = Gameplay)
void NotifyQuestActor(AActor* Actor);

1 Like

Hi @TheDark12 , yes, adding BlueprintCallable is what fixes this problem in the tutorial lesson.

Yep BlueprintCallable required
Quite funny the next lesson says “We left it in a state which doesn’t compile, that’s a useful lesson”. But the last compile of the previous lesson appears to work! So that’s erm, not very helpful.