Communication between blueprints
I know this question has been asked multiple times, but the answers in those questions did not help me. What I'm trying to do is communication between blueprints, but not specifying instances.
If I click (or touch) any of these green alien heads I want that NaN Text Render to change the text.
Here is how I thought it would work: This is the blueprint of the alien head. The size of the heads changes as I touch them, it works as intended.
At the end I call TesztDisp2 which is an event dispatcher. I read that this is one of the options of communication.
(If I interpret it correctly ths event dispatcher works as the signal/slot mechanism in Qt)
This is how I bind that event in the NaN Text Renderer blueprint:
The Al Fej is an Object Reference variable I created. I tested the text changing and it works if I just call it in the event begin play.
So how does a blueprint communicate with an other blueprint? I don't want to go in the level blueprint and just call the instance events. I will dinamically create these heads, I can't bind them each one individually.
(Please don't forward me to some UE4 documentation, I tried those but did not help)
My problem with this is that it does not do anything. It gives me this error:
Okay, I figured it out after watching a random video on youtube.
In the Text Renderer blueprint I added a Get All Actors Of Classes before the Bind Event (3rd image in OP)
And now it works as intended. I do not call the CustomEvent_0 anywhere, just the TesztDisp2.
jtsmith I tried doing what you suggested but it did not work :(
Anyways, thanks for you help!
answered Aug 19 '15 at 11:54 AM
Event dispatchers can be confusing the first couple times you use them and I'm not 100% sure on them but my question is did you just create the custom event_0 and drag the pin to it? While you have bound the custom event to the bind node, you don't actually have the event you call. I believe you need to drag backwards from the bind node, select custom node then name it what you want, then call that event by the name you just created in the BP that has the dispatcher in it. This allows you to not have the reference yet call that function later on and/or multiple times. Simply creating a custom event and linking the red pins won't setup the necessary behind the scenes coding that is required for the binding.
Hope this helps. If not I will check my dispatchers in the morning to remind myself how I did it. If it did, please consider accepting the answer by clicking on the check mark located below the arrows next a to the answer. You'll know you got it right when the answer highlights green. Thanks!
There is a good UE4 video on youtube by Epic that goes over cross blueprint communication in detail.
answered Aug 19 '15 at 09:54 AM
Follow this question
Once you sign in you will be able to subscribe for any updates here