Interface Not being called from Widget

I have an interface implemented to change a Boolean between two blueprints. One is the widget in the screen shot the other is the player controller. The player controller reads the interface correctly but the widget wont seem to call the changes at all.

doing an interface call on any blueprint except the widget works. I need it to be on the widget so that the Boolean can be changed on a button press.

Is there some stipulation about widgets and interfaces that i have missed?

Notice the yellow pin on target?

Unless you’re an interface black belt, you probably don’t need that.

Type the name of your interface in the node search again, and notice there are several versions.

The interface call should have the little envelope on it, and the event should have the blueprint arrows on the node.

image

99.99% of the time, when you call an interface, you’ll need an actor reference. If you don’t have that, you’re calling the interface on the blueprint you’re already in. Like I say, probably not what you’re aiming for… :slight_smile:

1 Like

ah. I had used the message one before but must not have had the right target linked in.

what I still don’t understand though is how it is getting the variable. I have my player controller set as the target pin but and the node itself shows the interface is the target. It is working, i just don’t understand how it is setting and pulling the variable.

I’d have to see the structure to really say, but it can be one of two things:

  1. You can pass variable ( and receive ) over interfaces, presumably you’re not doing that if you don’t understand how a variable is being set!

  2. The fact that you call the interface lets the other blueprint know the variable needs setting, the variable itself is never actually passed.

Does that make any sense?