Shading an entire UMG widget

Is there a way to shade an entire UMG widget?

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?

Hello bigzer,

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?

Yes sorry by shading I was referring to applying a shader.
In UE4 terms basically I wish to applying a material on an entire UMG widget.

There are certain widgets currently that cannot except materials. These would include:

  1. Text Block
  2. Name Slot
  3. Canvas Panel
  4. Grid Panel
  5. Horizontal Box
  6. Overlay
  7. Scale Box
  8. Menu Anchor
  9. Native Widget Host
  10. Spacer

The other available widgets will except a material in some fashion. I hope that this helps answer your question.

Make it a great day

Hello bigzer,

Not all widgets accept materials. A list of those widgets would include (version 4.6.1):

  1. Text blocks
  2. Named Slot
  3. Canvas Panel
  4. Grid Panel
  5. Horizontal Box
  6. Overlay
  7. Scale Box
  8. Uniform Grid Panel
  9. Vertical Box
  10. Widget Switcher
  11. Wrap Box
  12. Menu Anchor
  13. Native Widget Host
  14. 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.

Make it a great day

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.

Hello bigzer,

I think I misunderstood you before, are you asking about how to make a 3D widget?

Like this:

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.

Like this: