Download

Communicate by interface

Hi,

I am having a massive problem to let the blueprints talk to each other.
In my game there is one blueprint, which holds all the variables and functions, which shall be available all the time. This blueprint is called “halte_variablen”.

And there is a blueprint with many instances on the map. The blueprint-asset is called “BP_collectable”.
These instances shall be collected by the player. Each time, one is collected (deleted, in fact), there shall be a function called, which is inside the “halte_variablen”-blueprint.

I tried to use interfaces, which seemed to be the easiest way to achieve the goal.
So I created an interface (fig1.jpg), in it I created a function called “F_mixmux”. Sorry for that name.
In the “BP_collectable” instances (fig2.jpg) I implemented the interface and the Event “ActorBeginOverlap” should fire the message via the interface.
Finally, in the “halte_variablen”-blueprint (fig3.jpg), I implemented the interface, too. Then I added the event “Event F_mixmux”, which should fire the desired function.

But something went wrong, and the function is not being fired.
I tried to follow the tutorial https://www.youtube.com/watch?v=WwfsWr4A894.
In the tutorial it is said, that I have to select a message node. But I don’t have such a thing, when rightclicking in the blueprint-editor.

Does anyone have a suggestion, what I can do?
Regards
Christian

In your Collectable BP, you need to have your F Mixmux Target (Which is currently set to self, the number 3 arrow) you need to connect that target with a reference to you BP_halte_variblen.

Make a variable that is the object type of your blueprint, add a tooltip and make it editable and attach it to the target option. Then select the halte_variablen blueprint from the details area in the world view.

Or at least I believe that is the problem.

The problem seems to be in the second image, try to drag off the Other Actor from the begin overlap event, and then you should be able to find a function called something like “F Mixmux (Interface Message)”.

I know, it can be confusing… there are multiple F_mixmux you can find… but you said it yourself, you have to select a message node and not the other ones.
Dragging of the Other Actor should be the easiest way to find it (or you can try to disable the context sensitive filter), one way or other it’s there.

Eromis: You were right, that was the problem.
Now I have the component “halte_variablen” as variable and it fires the function.
And thankfully I can assign the instance of “halte_variablen” for all instances of “BP_collactable” at once.

Thank you

That worked fine, but now I have an other problem.
The above solution worked because all the instances were already in the level.

Now I want to have the value, which has been transfered to “halte_variablen”, to be printed in the widget.
Unfortunately I have no good idea, how to access the widget in my pawn, because my pawn does not yet exist.

34de8b1eac28eef8229576c58bbef0b4fc90ca06.jpeg