BlueprintImplementableEvent not showing in 4.6 Editor

I’ve created a BlueprintImplementableEvent in my AActor class:

UFUNCTION(BlueprintImplementableEvent)
virtual void MyEvent();

However in the blueprint that inherits my AActor, I cannot find where to implement MyEvent.

  • It’s not in the Event Graph context menu
  • It’s not in the Event Graph “Context Sensitive” context menu
  • It’s not in the My Blueprint window under Graphs, Functions or any of the chevrons below.
  • It’s not in the My Blueprint section after checking “Show inherited variables”
  • If I try to create an event named “MyEvent” a red error shows next to the name saying it’s already taken.

##How to reproduce (in 4.6)

#pragma once

#include "GameFramework/Actor.h"
#include "MyActor.generated.h"

/**
 * 
 */
UCLASS()
class MBBB_API AMyActor : public AActor
{
public:
	GENERATED_BODY()
	
	UFUNCTION(BlueprintImplementableEvent)
	virtual void MyEvent();
	
};
  1. Put the above actor in your source.
  2. Make a new blueprint that uses AMyActor as it’s base.
  3. Try to implement MyEvent.

What am I doing wrong? I’m sure I was able to do this with previous versions.

Edit: I’ve confirmed this works fine in 4.5.1 after adding the PCIP constructor, but still not 4.6

+1 same here

Followed 's tutorial, basically copy pasted everything. But nothing appeared.

Hi ,

I followed the steps that you outlined above, and used the sample code you provided, and the event node worked fine for me. Specifically, these are the exact steps that I followed:

  • Created a new code First Person project.
  • Built the project in Visual Studio.
  • Opened the project in the Editor.
  • Added a new Actor class to the project named MyActor.
  • Closed the Editor.
  • Added the code you provided to the new actor class.
  • Built the project in Visual Studio.
  • Opened the project in the Editor.
  • Created a new Blueprint derived from MyActor.
  • Right-clicked in the event graph of the new Blueprint and typed “My Event”.
  • The My Event node was visible and could be selected/added to the event graph.

Do you see anything I am doing differently from what you are doing?

I followed your steps successfully.

Then I thought maybe it has to do with existing objects. So I saved the blueprint, added MyOtherEvent, and recompiled in the editor. Then neither “My Event” nor “My Other Event” were present in the context menu. Then I shut down the editor, and started it again from Visual Studio. After VS recompiled then both events showed up.

So it has something to do with Hot Reloads.

Thanks for looking at this.

#Hot Reload Does Not Work With BP

You have to close the editor and compile in Visual Studio!

No UPROPERTY or UFUNCTION() things that are exposed to BP for the first time will show up via Hot Reload!

This info might become outdated with new Engine versions if this Hot Reload issue is addressed.

PS: Great to hear from you ! :slight_smile:

Yes, and I have also observed that hot reload removes existing events too. So not only does it not work, it further breaks existing events if you add a new one.

Hi ,

This does indeed appear to be a new issue related to Hot Recompiling in the Editor. I was able to see the same results that you described when I performed a Hot Recompile instead of shutting down the Editor and building in Visual Studio. I have entered a ticket for this issue to have it investigated further (UE-6944).