Create Widget Enum Type Exposed on Spawn not getting set

My issue is when I create a UMG Widget with an Enum exposed on Spawn, the widget Enum type doesn’t get set properly and always reverts back to it’s default value. I’m wondering how to properly set this type, or if I’m doing something wrong, or if it’s possibly a bug with the editor. Note that I also pass in a Struct that gets set fine. I’ve debugged this to the point that I know anything I pass in get’s ignored, and the widget ALWAYS just uses whatever I’ve set the default value of the Enum type to.


I would’ve originally said that properties exposed on spawn probably don’t work with widgets but you said that structs worked. Thus it’s probably a bug in the engine and handling of enum values. Is it a C++ or a BP enum? Do you have the option to change it from one to the other and see if it still happens?

In any case, a simple workaround is to just have a “Initialize Widget” custom event that takes the enum as parameter and you call that right after creating the widget.

Alternatively (and this is just a shot in the dark), add a 0 second (1 frame) Delay node to your construct event, before the switch.

It’s a BP Enum. I’ll use the custom event for now, seems like a decent workaround. Massively prefer that to a delay, thanks!

Tested today 09.2020, still not getting “Expose on spawn” properties passed to widget. Bug still exists after 4 years or i am doing something wrong?