Widget Component Bugs

I don’t 100% know if this are bugs, but I will post them here.

1.)
Multiple widget Components added to an actor result in some erros in depth Buffering. Not the physically top-layered Widget gets displayed on top, but the widget with the shortest distance to the viewer. Here two example images:

Correct:

Wrong:

As you can see, the depth buffer should clip the widgets from left to right, like in the first picture where the overlaying widgets also are the closest widgets, but they get clipped by their distance to the viewer.

2 .) Widget Components values like Pivot and Draw Size don’t get updatet correctly. I noticed this while testing line tracing against the cards. Only when I set the pivot and draw size in the details panel of “Add Widget Component”, the line tracing successes. When I leave them blank and set them afterwards via “Set Draw Size” etc., the widget gets renderd correctly, but line tracing still seems to use the “old values”. For example, if I let the draw size values on 500,500 (default) and set the draw size afterwards to 600,900, line tracing only successes within the 500,500 block of the widget. I am sorry, I find it a bit hard to express myself since I am not a native english speaker. I hope you understand what I mean.

I would be really happy for a solution for problem 1, since this really annoys me and I didn’t found a workaround so far.

Greetings :slight_smile:

Hello ,

I was able to reproduce the issue with the widgets being drawn in the wrong order. I have written up a report ( UE-15762) and I have submitted it to the developers for further consideration. I will provide updates with any pertinent information as it becomes available. Thank you for your information and time.

As for the second issue that you have mentioned I will need you to create a second thread for tracking purposes. You can then post a link to the new thread in a reply and I will be more than happy to assist you further with the second issue. I do have a couple of questions for you that will help narrow down what issue it is that you are experiencing. Please answer the following questions in the new thread.

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provide a detailed list of steps in order to reproduce this issue on our end?

Make it a great day

Thanks for your answer. I will try to reproduce the issue Number 2.) in a clean project and open a new thread. I also found another bug, where the selected widget component class in “Add Widget Component” doesnt get saved, and has to be re-selected every time the engine restarts (UE 4.74).

Am I allowed to ask you one short question, a bit off the original topic? How can I completly exclude widget components from any sort of lightning or post processing? The cards (like the one in this thread’s pictures) are right in front of the players camera and reflect light, get way to bright and darken out the rest of the environment, are blurry and seem to wash out for a short time when another card moves by on top of them. I tried to add a own post-process to the actor and disable everything manually, but the effects still occur :frowning:
I would like to just render them in front of the player but don’t have any influence on anything. Like the card on the right that is just part of a 2D-Widget. The only reason at all I use 3D-Widgets is to be able to Pitch / Roll / Yaw and overlap them

Thanks for your answer, I appreciate that! I will try to get into the engine code and solve it myself :slight_smile: Your answer helped me, though, since it gave me a start where to look and the knowledge that it seems to be possible :slight_smile:

Widget components that display their widgets in the world are affected by all post processing - can’t prevent that without a lot of work that we haven’t tackled yet for the 3DWidge (it’s experimental for a reason).

EDIT - Looks like them being unlit was something we changed for 4.8. They were never intended to be lit as they are emissive only materials. You can locally hack around it by editing Widget3DPassThrough in the EngineMaterials directory of your engine content, settings it to be Unlit, until 4.8. No other changes should be needed.

Also your problem is due to transparency sorting. We don’t render transparent material objects into the depth buffer, and order independent transparency is expensive. Anyway - just check the Is Opaque box on your Widget Component, that will fix the sorting.