Can't set up communication between 2 blueprints

Hi guys.
I know its popular question but i can’t find answer for my situation.

My first blueprint is Actor and my second is Spectator Pawn. I am unable to make a reference from one blueprint to another.

First time i tried use Event Dispatcher .
I created dispatcher in my Actor blueprint and made Bind Event

But how you can see i can’t Call to Dispatcher from my Spectator Pawn blueprint.

But i can Call to dispatcher im Level Blueprint

Second time i used Interface. You can see my attempt in the previous screenshots.

So, i spend a lot of time and i don’t know what is problem.
Please help!

The most important thing to understand here is that you can not communicate with another BP if you don’t know it.

Think of it a bit like a telephone. Your BP is sitting in the level. And unless you leave it the number of another BP it can’t call anyone.

With that out of the way let’s look at the two attempts you made.

1. Event Dispatcher.

An Event Dispatcher is used to alert other Actors that something is happening. You have a couple of things you can and have to do in order to make it work. First of all you have to create the Event Dispatcher. Give it a name (XYZ for example). Done. Within the same BP you can then just use “Event XYZ” which will be triggered when the dispatcher is called. In other BPs you will need a reference to that BP and then BIND it to an Event in that BP. Important here is that you NEED to have something in the “Target” Pin. Otherwise it will only listen to Events in the same BP.

And last but not least. You have to Call the Event. In order for anything to work you have to trigger it. Just use “Call XYZ”. Keep in mind that once again unless you want to trigger the dispatcher in the same BP you need a target.

2. Interface

This is quite a lot easier. Inside of your interface you create a function with parameters. Now if you open your BP with the Blueprint Editor you have a button labeled “Class Settings” left of the “Play” Button which sends you in the game preview. If you click it the Details Panel will change and show you a few settings. One of which being “Interfaces”. You add your interface to that list and can now use Events or Functions with the same name you specified in the Interface. Whether or not it’s an Event or Function depends on whether or not you specified a return value. If you don’t return anything it’ll be an event. Otherwise it’ll be a function.

To interact with it from another BluePrint you just need the reference and call the Interface Function.

Cheers

Thank you so much.
I did like you said (add reference to my second blueprint) and all work perfectly.

But i’ not sure about my interface communication. Seems like i did almost like you recommend.