Reference widget from different blueprint

So basically what my game does atm is this:

  1. walk towards the npc and press E.
  2. npc creates widget with accept or
    decline for quest.
  3. after accepting, widget gets removed
    and another widget is created.
  4. after doing a task the text in the
    2nd widget should change but here is
    where my problem occurs.

When the 2nd widget is created i have reference that gets set before its added to the viewport but when trying to access it from a different bp it doesnt work and always have its current value = none (not sure what im talking about).

I’m pretty sure its being called… otherwise that widget after it wont be created… and it appears…
Is there no way to do it without storing in an object/struct?
When in play mode i hover over 2nd widget in picture 1 and it indicates that a widget has be created with a long name… but when moving to the 2nd blueprint and looking at the reference it shows value = none

And also why does every time i post all the lines gets messed up?

The containing bp is called BP_Barkeep (incharge of activating the npc quest and the 1st widget (accept/decline quest)).

2nd widget:
Graph is empty except a text variable of QuestAssignment which i need the reference to change and to end this misrey

The using BP is called BP_Key (incharge of activating a bool of the key and to create the 2nd widget)

Is the QuestTrack event being called?

You should store this information in an Object or struct, and send that object to the widget to display, instead of the bulky widget carrying all the game data.

What BP is containing these two widget references? Are you sure that you’re maintaining the correct Barkeep ref?

You can edit your post to try to fix it. There should be a preview below of your post.

In your BP_Key is New Var 1 set to a reference of the BP_Barkeep?

This is while in play mode:


This is a way to access your text variables and set them;

Try to create your widgets inside the game HUD blueprint. In this case, you can easily communicate with them by a simple ‘cast to’ node.

I have created two text variables, one inside the game HUD (my text), and the other inside the third BP (my new text) which is going to replace with the first variable.

Then I added a text component to the widget that I have created inside the HUD, and bound the text content to a function

Now everything is set up, except changing the text from the third BP. In my example, I tried to change the text with an input event from keyboard (Q). The thing you need to change, instead of an input event, use another event or condition to set the new text.


Hope it help.


You need to set the value of New Var 1 to the reference of the original BP_Barkeep, then this will work.