Blueprint interface target.

I want to communicate my blueprints through the blueprint interface. But I can’t for the life of me figure out what the hell am I doing wrong! I spent hours reading manuals and forums… I’m clearly doing something terribly wrong and my brain isn’t working anymore at that point…

So here’s what I have, pretty simple.

This blueprint supposed to send a message to another blueprint when it’s being interacted with (and yes, my interaction blueprint interface works perfectly, I use it for player to interact with every interactive object on the map)

And this blueprint is suppsoed to recieve the message and do stuff.

The only thing is… it doesn’t work and I can’t make it work… I figured I’m doing something wrong with “target” node in the first blueprint that is sending a message (that is why I left it empty with an error for the screenshot).
Please, somebody tell me what I’m supposed to link with target node in order to make everything work!?

Nothing. It only suggests to promote to variable. It creates an Object type variable. I figured I need to set it’s value as BP_pipe_key (the second blueprint, that should receive the message), but it still not working.

I have a locker stuck in a doorframe and player needs something to use as leaver to move it out of the way. But I need player to interact with the locker first to recieve the message that it’s stuck and then the pipe lying around in the room will illuminate and become interactive.

Anyway… I have an idea how to do it, both blueprints work fine separately doing it’s thing.
But the problem is communicating them. In theory it’s easily done with blueprint interface. But it’s just doesn’t work.

I can’t figure out what is the proper target for the interface message in the first blueprint.
I want to understand how to make interfaces work so I can use it in the future.

I get my Interface Interact working in the FirstPersonCharacter that gives player the ability to use interactive objects on the map. It receives actor being hit by line trace as target. Pretty simple…

But what to do to make one blueprint send a message to the other through the interface? :\

It says in the error message that it needs an input node. That blue dot has nothing going into it. You have to connect something there. Drag out FROM the blue attach point and read at the very top WITH context sensitivity checked. What does it say?

It needs a reference to the object it is going to call the event off. You have to bind it somewhere or you have to bind it somehow. What exactly are you trying to do? Put a key into the locker and that should trigger an unlock event?

EDIT:
It says “actions providing a(n) object reference.” That means that it needs an instance that is a child of the class Object. Most likely you want something else that is more specified.

I think you are misunderstanding what interfaces are used for.

Interfaces are more like a set of promises that each class implementing the interface must offer. You can have a million classes implementing the same interface, but you do not need to know WHAT class it is exactly as long as you know that it implements that interface. It is not used for communication between blueprints that are not connected. Hit events, overlap events, event dispatchers and exposed variables are the main ways to communicate between different blueprints.

So you can’t communicate two blueprints through the interface? Well, bummer… Thank’s for clarifying that to me. I’ll go get back to using exposed variables then…
Thank you for the answer!

Just make a variable of the type you expect and then click the closed eye next to it. It then opens up and you can add a reference to it through the editor. That way you can simply call a function in the object that you selected in the details panel.

In the locker make a variable called Pipe or something. Make the type the same type as the class that can interact with the locker.

In the pipe make functions MakeGlow and MakeActive and fill in the code there. You will call these functions from the locker later. (If you have several classes that can be used THEN making an interface with the above functions is perfect.)

Then you click on the locker in the editor and search for the name of the exposed variable in the details panel. There you can select the pipe that you want to interact with, e.g. the pipe.

Once you have done that you can use this variable to call the functions above.

Your pipe is now glowing and you can interact with it. If you want multiple objects to receive the same commands you might want to make a dispatcher and make the same custom events in each class.

Oh, yeah… now I remember why I tried to use interfaces for that.

Here’s my problem… And it’s the same - I can’t find the right target :
What it’s supposed to be - player interacts with obstacle and gets a message that it’s can’t be moved w/o a leaver. Then it sends a variable to a metal pipe blueprint to check if player got the message and then to make it interactive so the player could pick it up.
But yet again, I fail to understand what should be connected as target here? Since i’m using my Interact Interface to activate the obstacle, it doesn’t have the blue output node like, let’s say, in Actor Being Overlap event.

Thank you! I finally managed to figure everything out…
That was unreasonably hard for some reason, even though now when I think about it - it’s pretty simple.
I guess I’m just way too tired… I can’t think straight already, to be honest :slight_smile:
Anyway, here’s the result: - YouTube
Everything works as intended.

Great to hear. Looks like it is a well implemented game as well. I hope to see more of it in the future. Keep at it!