UMG Best Practises.

I agree here, though it wasn’t clear to me that Lankeytom was necessarily saying his widget blueprints had a hard dependency on game blueprints.

With UMG, I think the main mistake people make in terms of performance is using too much data binding, just because it’s often the easiest way to set things up. On the whole, UMG bindings will be polled every single frame. Not only that, but the evaluation process is pretty slow, involving multiple levels of delegate calling. So whenever you have data that is not constantly changing, you are much better off having the game notify the widget blueprint of a change in data, and then having the widget blueprint directly assign the new data to the widgets. For example, with a text block, call the SetText method when you have updated text, thereby bypassing the need for delegate polling entirely.