(Low-level Engine question) Does anyone know how to add a fullscreen widget to the viewport and can be shown or hidden at any point (even between loads)?

It is just a guess, but I would try to look at AHUD class. So maybe if you make a BP_HUD that inherits from AHUD and manage your widgets through it you would be able to show them at anytime.