UMG Combobox is always on top?

I have a main widget with an overlay, the overlay has two child widgets, one where I have comboboxes inside which use custom widgets for each drop down entry, and one other widget which I use as a tooltip, so I move it around. I want to display the tooltip while I hover above drop down entries in the drop down list, and the enabling/disabling of the tooltip is working very well, the problem is just that the drop down entries (the whole combobox) is always on top, so the tooltip widget is half hidden by the combobox. Hierarchy is like this:

  • MainWidget
    – Overlay
    — Horizontal Box
    ----- Combobox 1
    ----- Combobox 2
    — TooltipWidget

Since the tooltip widget is in the overlay after the first widget (or just Horizontal Box) it should always be on top anything which is inside of the first entry. Why is it not? Is it a bug? Changing the ZOrder on the TooltipWidget does not change anything.

Popups, e.g. Combobox dropdowns, right click menus, and real tooltips use a deferred method of drawing because they are effectively a new window, but not really since fullscreen games have to work, but you might as well think of them as such. That means they’re going to draw on top of everything. A combobox dropdown that lost draw priority to any normal widget after the combobox would cause lots of problems.

Not sure if it the same here but in unity hierarchy Order also affected render order. Try placing the tooltip above the other elements In the hierarchy

It is placed “on top” of all other elements.

Thanks Nick, what would you advise me to do? The tooltip should show information based on the drop down entry the mouse is hovering above, I need some way to make it being on top of other drop down entries. Is there no hacky way to achieve this? I know there is a “real” tooltip widget I can specify in UMG, would it render above the drop down list? I’ve tried to use it but I did not get it to work.

Could you add something like a bool to tick whether a widget uses the deferred method for drawing?

Nope, it’s more complicated than that, you might be able to make a slate widget that does it for some content of your choosing. Why don’t you just use real tooltips, or not overlap the actual content with the tooltip.

I don’t want to use c++, only blueprints, so no slate :slight_smile:

I have tried to use “real tooltips”, but I can’t get them to work. For testing, I just select a button, in the “behavior” section I add a bind function to the “Tooltip Widget”, in the function I either create a new tooltip widget and return it or return an already existing widget (tried both) but then, nothing happens. So I guess the “real” tooltip functionality is buggy and does not work, thats why I used my own widget which I just manually enable and move around to follow the mouse cursor. If you could tell me how to make the “real” tooltip functionality work and then the widget would be above the drop down list that would be awesome :slight_smile:

How should I make the content not overlap with the tooltip? The tooltip shows information based on the currently hovered drop down entry. And a tooltip is generally following the mouse, so the tooltip has to be where the drop down list is, there is not way to make them not overlap (without making the tooltip no longer a tooltip).

Ok, I got the “real” tooltip working and it is indeed above the drop down list entries :slight_smile: So it is working, though it is super annoying that UE4 forces me to use this “feature” for achieving the effect I want. The problem why the tooltip was not appearing was that the custom widget was not allowed to have a CanvasPanel as first entry in hierarchy.

Now only one issue left, the tooltip at the moment is at the bottom-right of the mouse cursor, so the cursor is in the upper-left corner. I want the cursor to be in the bottom-left corner. So I want to set the alignment to Y=1 for the widget, but there is no place where I can set the alignment when using the “real” tooltip functionality…

You can use a canvas panel as the first widget. The problem is that tooltips use the desired size of the content to determine their size. You must’ve setup the canvas panel with content that didn’t have a desired size, anchoring the contents of a canvas panel can have that effect.

There are no alignment options for tooltips. If you want something more complicated you’ll have to move to C++, you might be able to pull this off with a menu anchor, by spawning the popup manually when hovered is triggered.