Moving Widget panel functionality overlapping other functions?

Hi everyone,

I’m having an issue that I’m sure it has an easy solution, but I’m not being capable to figure it out and I would love to get any help from any of you if anyone knows… please!.

I’m creating an application for architectural visualization, where you can select an object by left clicking them (with a traceByObject), and then a widget panel will spawn with an information container for the object.

In the widget, I made a functionality where the user can close the panel by clicking on a close button I created. And he/she would be able to also move the panel (by left clicking as well) keeping pressed the key to move it arround the screen. While the user is pressing the key the blueprint sets the slot canvas position on screen dinamically, and it finally stays on the end position when the user releases the key.
Both actions seems to be working properly SEPARATELY, but not SIMULTANEOUSLY. I will explain this:
When I set the widget to work with the move arround functionality, then the closing button stops working and I can only move arround the widget with no possibility to remove it from the viewport. And when I disable the move arround function, the closing button works perfectly well.

I tried to set the ZOrder from the border panel and the button just in case, but it seems to not be working either.

Here you have a screenshot of the closing button as well, created on the widget event graph.

As I said both things works properly but only when I plug one of them to the return node of the move arround function.

Please if anyone knows how to fix this, would be so amazing!

Thank you so much in advance for everyone!

Make sure your Buttons z-Order is always over the Border. Otherwise the trace will never hit the Button since the Border is always in front blocking it.

Easiest way I can think of is not to touch the Z-Order at all. In the Design view they use the order off the hiearchie. Make sure to Select the Borders and set their Visibility to “Self Hit Test Invisible” if you dont want to block hit detection and let it pass trough the UMG Element that is bellow (That could be your Drag Border or Button or whatever else ;P)

Try to Organize your Hiearchie and Settings before trying to manually override Z Order that is generally Confussing and Hard to Track.

After testing A LOT, I figured that my problem is not a problem of widget overlapping with their visibilities, it has to be something related with the blueprint I made to move the widget around.
I just made a separated button from the border, without anything else on it, to test if there was something to do with zorder or maybe with their visibility, but it’s not.

When I unplug the function to move around the widget with the keep pressed key, the button works perfectly well. It does not work only when I plug in the keep pressed key function to move around… even with the separated and lonely button with anything over it. In addition to that, I have to note that when I plug in the move around function everything else stops working, not only the button.

In here you can see my actual set up of the move around function. When I unplug the shown wire the button works fine (but not the move around function of course), but if I plug this in, the only thing works is the move around function and everything else stops working, not just the button, even the movement input!

Here you can see the rest of the blueprint function and where is all the previous image stuff plugged into.

Finally, a screenshot of what I have in my designer tab. The border visibility is set to Set Hit Test Invisible and his Zorder to 0. The button has no Zorder because it is a Border’s children.

Sorry for all this messy issue but I really need help to fix this in order to continue working properly.

Thanks a lot Nachtmahr!

I’m a noob on Blueprints. Because of that maybe my logic is a bit messy :(.

IsMouseButtonDown is set on the MouseButtonDOWN function, that is binded to my BorderPanel in the designer tab, like this:

On the other hand, I don’t know why the CasttoFirstPersonCharacter is broken.

I’m trying to get some logic in order of what you just told me, and now I have the move function like this (maybe now you will see it better):

I deleted the CasttoFPS and the 2nd branch from Mouse Cursor Still Active, and I’ve got the same as before.
Now I get the initial result with this last screenshot, a bit more cleaned.

Hope this now will make you help me in a better way now :slight_smile:

Anyone? I know it’s maybe a bit tricky but I really need help!

I tried to set the Zorder of the Widget elements but it didn’t work.
Maybe I’m setting it wrong but I’m not being capable to do it right.

Would you please tell me how can I do it? And where should I set this up?

Thanks a lot Nachtmahr!

Here’s a screenshot of how I have set the ZOrders on the widget blueprint.
(Boton Cierre = Closing button in spanish. Just in case!)

But I think maybe it’s a thing of event overlapping like one function is executing before anyone else? I’m not sure.

Thats even more Confusing than before. Where do you set “IsMouseButtonDown”? Why dont you fix your Broken Cast to Third person Character Node? All Paths should end up in a Return Node with the proper Handled/Unhandled input. The Second Branch in Cursor Still Active will always be true. Potential Null refferences. Its a Mess mate :open_mouth: Dont ignore Errors/Warnings like that you probably get a couple more if you start the Game if I assume correctly.

You got to get your logic in order.