BP events doesn't get called inside the editor

Here’s a little example to reproduce it.

It has a C++ class called ABPEvent with a BlueprintImplementableEvent called TestEvent.
TestEvent is called both from BeginPlay and from PostEditMove.

There’s also a BP class that inherits from ABPEvent called BPEvent_BP that prints “Test Event” inside the TestEvent.

If you press Play, BeginPlay gets called and then TestEvent. However if you move the actor inside the editor, PostEditMove gets called, but TestEvent doesn’t.

Hi , thanks for your answer.

Sorry to hear that. Is there any workaround ?
If the Construction Script works, then must be a way to do it.

Hey -

This is actually expected behavior, blueprint events only trigger while the game is running. Blueprint custom events and code-based BlueprintImplementableEvent will fire when they are triggered during gameplay, but the events don’t know to listen for a call in the editor.

Cheers

The construction script in the blueprint equates to the class constructor in code. Anything set in here will be updated when the blueprint is updated. If you want to print information in the editor then using UE_LOG as in your example is the best method.

Ok, after some debugging I found a solution.
If you want to call BP events while int the editor you can specify the metadata CallInEditor in your UFUNCTION declaration.

Like this :

UFUNCTION(BlueprintImplementableEvent, meta = (CallInEditor = "true"))
		void TestEvent();