What is the Blueprint behavoir of bind and hidden items?

I have implemented a fairly intensive function that loops through and sums up all the values of a 1000 value array, and binds that value to text in the menu. I am concerned that this may be adding lag to the game, though it still runs fine on the development computer. My questions are:

  1. When do bound functions run (in this case, binding to the text of a text box) - e.g. does it run every clock tick (hopefully not), once in a while, when a value changes, or what? The binding I am talking about is I compute the game completion percentage (a fairly intensive process) to a text box in the game menu.

  2. Does blueprint code run for hidden objects? I hide the menu for normal gameplay, and display it when the game is paused, then re-hide it when resuming gameplay.

As long as hidden objects don’t execute their code, it probably shouldn’t lag out the game.

  1. Bound getter functions in UMG are called every time the widget ticks, that is correct. Idealy if you have a heavy process to generate the value you can create a dispatcher in your class and bind that event on the widget, so when you update the value you call that event and set the value on your widget.
  2. Hidden widgets do not tick.