Remote Control and Blueprint Interface

Well I decided to try the Direct BluePrint Interface communications. and I’m havindg a dificult time of sending one variable to another Blueprint without event triggers, because the actors don’t overlap.
this is for a simulation type of display app not a game so a lot of the game centric methods don’t apply.
So many of the online Tutorials are game centric.

Basic Scene shows two BluePrint actors one on the bottom and one on top, the pink cylinder is a test actor BluePrint.
The Blue cylinder is the waste Water Blueprint

The Brown Cylinder is the Emulsion Liquid Floating on top of the water.

I created a Liquid Interact Interface Blue print

Then created a waterlevel function in the WasteWater_BP from the Interface

I’m having a real difficult time of getting the Water Top that goes into the New Param 1 to show up in the other Blue print Emulsion_BP

I get no result here

so I’m missing a process or some other setting in the Emulsion_BP to see that variable from the WasteWater_BP

This is the remote Plugin interface to control the levels

Here i show that the individual levels can be changed

Notice the gap between the Waste water and the Emulsion, this is why I need to send the top of the water to position the bottom of the Emulsion. And want to use BluePrint Interface communication to pass the variables. there will be other variables that influence the the level like temperature later.

Once I get this working then i should be able to change the level on the water and the Emulsion will follow the Top of the Water, then i can expand this simulation. Any input on how to get the variable to appear in the Target Blue Print would be Greatly appreciated. I have been at this for over a week without much luck, Just can’t seem to wrap my head around this even after reading all the docs and examples!

There is direct BP communication, which is not the same as using a BP interface.

Direct communication, is just using a reference to the other BP, and calling a custom event directly.

BP interface is what you have here. With BP interface, the whole point is it’s two ACTORS talking to each other, they know nothing about the internal structure of each other.

First off, I notice you said you make a function. I don’t know if you actually did, but you need to use the one supplied in the interface:

When one actor makes the interface call, it will trigger the function ( or event ) in the other, and parameters can be passed between the two.

I don’t see an interface call in any of your code. It would have the little ‘envelope’ in the upper right corner of the node.

Notice, when you search for the interface call ( ‘water level’ ), you will have several possibilities, you need to pick the right one ( envelope ).

Side note:

Also, although it is good to practice these new things, it would probably be easier to make both volumes part of one BP. Because they are closely related. BP interfaces are more suitable for things like interacting with objects. You could theoretically interact with anything in the program, and don’t want to have to write a different routine for each object. Hence, BP interfaces.

Is this what you mean be Call

Yes, that’s a call alright, but it’s an interface call into the same blueprint that’s doing the calling.

WasteWater_BP needs to make a call on the other BP, and as such the call will have a reference to the other actor feeding into the node.

( this is what I saying about there many versions of the call ).

A call from BPA to BPB, looks like this:


Notice ‘Actor ref’ is an actor reference, not a BPB reference. You could use a BPB reference, but then you lose the whole point of the operation.

Thanks for your help ,but i’m running in circles and just don’t see the logic flow at all. Totally baffled here now because i can’t find this actor Ref. It seem to me that I can’t seem to get any references. I have programmed in C++ understand Classes. but this is puzzling. I want to use the Interface because there will be more than one Variable to communicate and other Blueprints as the project grows.

I must not be setting up the Interface correctly or missing some parameters.

I will send a thorough example tomorrow - gettin tired now…

So, here we go…

I have 2 blueprints. BPA and BPB, I also made an blueprint interface called BPI and put a function in it called MyBPIFunc.

The function can have as many inputs and outputs as you want:

Now, in BPA I’m going to talk to BPB using the interface. Let’s assume, to help clear up your confusion, that both BPA and BPB implement the interface:

If I just right click on the background, I get this:


Notice I have two possible choices for my function call:


In fact, neither are any good for talking to BPB. See the yellow pin? That means I’m talking to myself.

To get the right version of the function call, I have to drag from my actor reference:

and get this:


THAT’S what we want :slight_smile:

Now, I COULD, do the same thing with a BPB reference:


But that’s undermining the whole point of blueprint interfaces, because I KNOW what BPB is, I know what kind of thing it is. That means, I can just call any custom event in BPB. That’s direct communication. So why would I bother with an interface?

The beauty of interfaces, is that you can make the call, any interface function call, on ANY kind of actor, without knowing how the actor works. Without knowing anything about the internals.

I could call the interface function on the sky sphere, for instance. Nothing will happen, but I can do it. That’s the point. Being able to make the call, and the actor we’re calling it on, might respond, if it implements the interface.

Tell me if this helps… :slight_smile:

I see that i don’t get the Actor Ref where is it comming from I think this is where i’m missing it.

It’s just a reference to the other blueprint, can you do that?

Ok this is where the problem is, this must be a fundmental procedure that i’m missing where do i drag this reference from? BPB? from the world outliner? Content Browser? Ithink this is the missing link, sorry for being a pain, YOu are helping me a lot.

is this done in the event Graph?

It really depends on the way you’re doing it, but if you have BPA and BPB in the level, make the BPB variable public and you can set it in the level:


then select BPA and you get to use the eye dropper tool to set the BPB variable:

Oh that helps a lot i didn’t create the Variables !!
But what variable type does it have to be?

You have to drag from the reference to get the correct node :wink:

If you try and just make the node, it assumes you mean an internal version.

Finally I get the message

Thank you for your patience this is tricky to set up. I’m going to try some more tests to get the hang of this.
You are awesome :slight_smile:

Excellent :slight_smile:

I sure have a lot to learn yet, this is one amazing software tool and so much to grasp.
This is a few of the real project screen captures that will use the BluePrint Interface

Part of my Town project

By the way I’m from western Canada.

Thank you again very much :slight_smile:

You’re welcome :smiley: