How do you use a BPI as an Event to be fired???

I’m looking to have one blueprint trigger a BPI to fire an event in another blueprint. I have seen this setup with in the example maps and I tried to replicate the logic. I have noticed one difference and that is in the examples you were able to use the BPI as an event that fires every time another blue print sends a “message” to the BPI. using the BPI as an event hasn’t been available to me in the right click drop down menu like it is in the example maps. Please help me, Thanks!

here is epics setup:

here is my setup:

I’m lost as to why my blueprint interface isn’t showing up in the event menu.

Sorry for the huge images

You have to actually ‘implement’ that interface in your BP before its events show up. Hit the Blueprint Props button on the toolbar and you’ll see a section called Interfaces where you can add whichever interfaces you want.

I struggled with this myself and here is where I stumbled:

  • As JamesG has mentioned, you need to enable the interface by clicking on the Blueprint Props button, and enabling the BPI in the lower left
  • In the sending blueprint, I used to drag and drop the interface function from the Library, which would give the wrong type for the target input. Instead, you need to right click and select the entry under “Interface Messages”.
  • The target needs to be the type of the receiving blueprint. E.g. sending a message from the HUD to the PlayerController, the target is the PlayerController
  • The Interface function needs Input pins that are assigned in the sender. The receiver uses the value as an output from an Event.
  • In the receving BP, right click and choose the interface function under “Add Event”. An event will be created that has an exec and output pins with the values assigned in the sending BP.
  • The BPI needs to be compiled before you will see the interface messages/events

HTH

Thanks for replying to this thread, my problem has been resolved! :smiley:

I have also noticed that if the BPI functions don’t have a Description, they may not appear as Interface Events.

Thanks! That did the trick.

I have a followup question. I was reading through Blueprint Interface | Unreal Engine Documentation and at the verrrryyyy bottom it says interfaces can be replicated. Except I don’t see a box for that anywhere. Is it just me, or is that option not there?

I can’t find it as well, but think this might be a design decision. Since now you can set variables changes to be replicated or not, any interface call will rely on blueprint to decide what to replicate.