In my 2D game there can be 100+ enemies on the screen. After I extended my Enemy actor blueprint with a healthbar (UMG widget) I noticed a significant drop in FPS.
FPS would drop from 100 to less than 40.
So I decided to do a simplified test in the First Person Example map.
I created a widget blueprint with nothing but a button in it. Next I created a blank actor blueprint to which I added the button widget.
In the level blueprint I used a loop to spawn 200 of these.
Sure enough the FPS counter dropped significantly.
When I set the UMG widget component to ‘Hidden in game’ the FPS goes back to normal.
Are widgets supposed to be this slow or am I missing something?