How would I be able to get a variable from my player and send it to another character?

1: I want to understand BP Interfaces because they look powerful. Right now I want to get a variable from my player and send it to another actor to use. How would I do that, would I use Inputs or Outputs in the interface?

2: Also once in the target actor blueprint how do I correctly call that interface variable and use it and set up the actor to use that interface?

3: Here is a example of what I’m trying to do

I created the interface and set a vector output here

Then in my player blueprint I added it as a interface in blueprint properties. The vector I’m wanting to transfer is set by this blueprint script here (UpdateMousePos).

Then In the same player blueprint I set the output to UpdateMousePosition

Now In the targetmouse blueprint where I want the vector from the player blueprint I did this.

I have it set to print the vector as a string and it is printing 0’s so its not working and I don’t know why.
Some clarification In the last picture where I’m calling the interface function, its target requires something but I’m not sure what. Someone told me it requires the instance of the class you are calling that interface from so that would be the TargetMouse Class. But All of this is clearly not working. Can someone please explain how to do interfaces correctly.

Thanks in advance.

To use Interfaces you need to ‘implement’ each Interface you want to use onto your Blueprint object, in the Blueprint Props menu.
And yes, to invoke Interface events you’ll need a reference to the Actor in scene you want to fire that Event from; To avoid searching for specific Actors all the time I tend to set a Tag on a certain types of Actors and send and Interface call to all of them at once and them let that Actor process what it should do with it instead of calling one by one. If the Actor has nothing to do with that Event in question I code its Blueprint to simply ignore the call. You can do that using Get All Actors of Class, Actor Has Tag and ForEachLoop nodes.

You can learn about Interfaces’ basics from many topics in this Hub, here’s some good ones:

If I implement it in the target blueprint it defaults the output to 0,0,0 I don’t understand how to get past this, because in the blueprint where I get and set that variable its fine, But that’s the whole point I don’t have access to that variable which is why I want to use a interface but in the target blueprint where i want to GET the vector that was set in mycharacter blueprint if i implement it, it defaults to 0,0,0 like here

To pass a value from within an Interface event, you set it as Input, not an Output value like you did there:

For setting it as a output having the target be get Player Controller, worked. Nothing else does though, i dont know why.