How can i link 3d widget to door rotater?

Hi everyone!
I need some help in solving link problem.

TARGET: Player go into Triggerbox ->Button appears(widget in actor placed at world) → Button pressed-> Door open.

I have:

WidButton - widget ui, 1 button and event ‘On click’.

3dWidget - Blueprint with WidButton, Triggerbox and simplest hide/show brunch.

Rotator - BP with rotation script based on timeline.

The problem is that i`ve tryed connect “Rotator” to “WidButton” with dispatcher, with “cast to” and “Macros”, but failed.

When I make all of it at Level BP it works, but in game it works nonstable.

Screenhots:

Hey!

I think I understood what your scenario is.

Judging from your screenshots and the error message your “UI_Button” variable is empty. You need to give it a reference at some point (probably best at BeingPlay OR ConstructionScript if linking them manually) to the target Widget that be calling the dispatcher.

I assume you have a Widget for every door?

If you’re going to do it at BeginPlay you need to send a reference of every Widget to its corresponding door.

OR

If doing in the ConstructionScript you can click the little eye icon right next to the variable “UI_Button” to make it editable in the editor. Then, when you select your Rotator Blueprint in your level, you’ll see the variable in the Details panel, under the Default tab. Click on the little picker icon and select the Widget that will be calling this Door.

Side note: Since every Door will have its own Widget you won’t be needing a dispatcher. What you can do is flip your setup. Instead of the Door having a variable for the Widget, the Widget can have a variable for the Door it controls. That way you can simply use that Door variable and call a CustomEvent that rotates it.

Hope that was clear. Feel free to ask if anything was too vague.