Create widget best practices?

That is what I do for outside-the-game levels. Each level blueprint opens its own widgets.

You could certainly do it some other way (there’s lots of ways you could get it done).

For example, you could make a blueprint that does your fancy menu handling in its BeginPlay, and then just drag an instance of that blueprint into each of the levels you want it to fire on.