[4.9.0] - UMG Widget No Longer Visible

Hey Guys,

Not sure what happened between 4.8.3 and 4.9 but a custom Widget is no longer visible all of a sudden. I’ve stepped through and my C++ is calling up to Blueprints and my Blueprint is creating a custom widget and adding the Child to the root canvas. However, I can’t see it so I am not sure if this is an ordering issue or what.

I did notice in the release notes…

“You may notice odd draw ordering issues in this version in heavy nesting of invalidation panels.”

But I am not using this new panel type as of yet. I personally cannot tell if its not visible or simply ordered incorrectly. I didn’t see anything in the release notes that pointed this out to me but hope to fix this soon :slight_smile:

Here is the layout of the BP at the point of creating the Widget and adding it… thanks!

Hello MC Stryker,

I have a few questions for you that will help narrow down what issue it is that you are experiencing.

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?
  3. Could you provide screen shots of the the rest of the blueprints/code that may be involved with this issue (such as where it is being added to viewport)?

Hey Rudy!!!

Thanks for the response buddy! I can definitely give you some more screenshots but today and tomorrow are going to be pretty slammed. I should have those to you at the latest by Friday.

Thanks again and I’ll reach back shortly Rudy, hope the week is going well.

Hello MC Stryker,

Thanks for the time frame, please remember to answer other questions as well (if able). They will help narrow down your issue.

Definitely Rudy :slight_smile:

As far as reproducing this in a new project, I can try to create a custom UMG Widget and have it add it as a Child to a Root Canvas Panel. I may be working from home tomorrow and if so, I’ll update you tomorrow but let’s shoot for Friday to play it safe. I’ll try that and I’ll also get you some code + BP snippets/screenshots to be as comprehensive as I can.

Thanks again and really appreciate all the assistance from the Support Staff, you guys are amazing and are beyond quick to respond back to any issue.

I have a similar situation. The ConvertWorldLocationToScreenLocation function is supposed to return true/false if the conversion was successful. (And this worked in 4.8.) But it appears to always return true in 4.9, even when the resulting Screen Location is a negative value. As soon as the position is negative, the widget stops receiving an Event Tick.

No errors in the logs and the widget still exists, it simply no longer ticks.

Hmmmm… that’s interesting.

I’m about to go through some of this in the next hr or two and get Rudy some screenshots so hopefully I can dig a little deeper.

For me, I debugged the BP function above and it is creating the UMG Widget instance and adding it as a child to my Root Canvas. A little funkiness w/ UMG but hopefully we can lock it down. I won’t rule out the possibility that it could be my error and not Epics but hope to know more soon.

Hey Rudy, I figured it out and resolved the issue.

Okay, so I’ve noticed a couple times since 4.0.0 that sometimes after retargeting a project to a new version of the engine, Blueprint connections can randomly disconnect and similar issues can happen. What happened was during the upgrade, for some reason, a Canvas’ alignment was changed. It used to be full with 0 across the board for offsets but the alignment defaulted I think to the default one and it instead interpreted a Size component and had both Size X and Size Y set to 0. This Canvas is specifically for me adding the MiniMapUnits to the MiniMap widget so because it had that incorrectly set, I wasn’t able to see it.

I guess give the UMG team a heads up that this was a pretty random occurrence but did happen and the last build where this was worked on was prior to 4.8.3.

All good here!!!

It seems that you just pointed something really interesting for the ConverWorldLocationToScreenLocation. This is definitely the function being the issue there.

The 3D widgets does not work in “world” mode in 4.9.0
It is working on 4.8.3 with the exact same setup (basic fps template and following this: https://docs.unrealengine.com/latest/INT/Engine/UMG/HowTo/Create3DWidgets/index.html. Just creating the first button as we do not need multiple of them)

I guess that here, the issue is not that it does not appear, it is there, but the mouse does nothing when hovering it etc. Works fine in 4.8.3, not in 4.9.

I will try to see if those world to screen and screen to world function changed lately.

Hello MC Stryker,

I am happy to hear that your issue has been resolved. I will be sure to pass along your message. I am going to go ahead and accept your answer, however if this issue returns please feel free to reopen this thread with any additional information that you may have and I will be happy to assist you further.

Make it a great day

You as well Rudy and thanks again!