I know we can shade elements from a widget but I’dlike to have the effect affecting text as well.
In other words a background image and the text in it.
I don’t know how the new 3D widgets work but are those textures we could access perhaps?
I do not fully understand your question. Are you asking if widgets can cast shadows? Or are you asking if it is possible to apply a material to text blocks? Or are you asking something else? Could you please elaborate on what it is you are trying to accomplish?
Not all widgets accept materials. A list of those widgets would include (version 4.6.1):
Text blocks
Named Slot
Canvas Panel
Grid Panel
Horizontal Box
Overlay
Scale Box
Uniform Grid Panel
Vertical Box
Widget Switcher
Wrap Box
Menu Anchor
Native Widget Host
Spacer
This is a list of widgets that will not directly except materials. However, if you are trying to apply one giant material to the entire screen you could simple place an image that is the size of the screen and apply a material to it. I hope this information helps.
Ok that’s sad news.
As for the full-screen effect, it would still not change the text that’s written on top or under that image.
It would be fantastic if we could get a texture out of a widget. It could even be generated once, it don’t even need to be dynamic. Perhaps a generate to texture node that could be called in a BP when we need the object. We could then generate an updated version of that texture any time we need.
Or are you wanting to take the Widget as a whole and apply it to objects in the world as a material? This option is not directly supported currently. However, I do have a hacky workaround that involves using a 2D render target material. (Note this way involves a bit of guess work during setup and may take a while to get perfect.) The simple explanation is that I have a 2D Scene Capture and a Widget Component set up as the components in an actor blueprint. I adjusted the 2D Scene Capture so that it can only see the 3D widget component. After doing this if I did not want the 3D widget seen by the player, I simply placed it where the player would never see it.