Beyond frustrated with Text Box binding

Working on a JRPG, trying to pass enemy info into a UI widget to display enemy data. CANNOT after 3 weeks of trying to learn interfaces and event dispatchers understand how/why none of this works.

The Setup:

UI_EnemyWidget that is dragged into my UI_CombatStage as a User Created Widget to represent an enemy, has an event when Get Info is sent out to send it’s Struct data to an Enemy Info UI widget

Enemy Info Widget that is displayed on my Combat Screen Canvas, has a text bind.

The Current Attempt at passing fresh data into the binding by creating a variable of the Format Text box I am using:

The Interface receiving the data to create “Status Text”

Enemy Widget getting it’s info from it’s data table (WHICH I KNOW WORKS WITH THE PRINT STRING)
And the Get Info event which should be going off when I click the info button to get the variable data to pass to the Status box when I press the button:

The OnClick event on the Button that is supposed to kick off the chain by saying “Hey, Get Info.”

I don’t understand after 3 weeks of reading and watching tutorials and explanations on Event Dispatching, Interfaces and UI why none of this works. If I pull the information straight from the data table into the Format Text node it works fine, I cannot understand why I can’t refactor it to be data driven and update itself when the variable data changes.

1 Like

I can see several issues there, and the way you set it up also breaks many programming rules.
I have no idea what kind of research you are doing, but those resources aren’t helping you at all.
If you break the rules and the program still works, then you will have trouble with code optimization. If you break the rules and the code does not work, then it’s just bad code overall.

To start, your conceptual understanding of using the class interface appears to be far off. Also, I can see a lot of the issue is actually coming from blueprint communication setup. The best thing that I can tell you calling an interface event always needs an address target. A receiver, otherwise your messages will not be sent correctly.