I’ve noticed this before too (in multiple UI engines as well, not just Roblox). What I do to get around this (and same for MouseEnter) is to connect to InputChanged, listen for UserInputType==MouseMovement and treat that as a mouse enter that’ll fake a leave event to the others.
There have been issues with Ended events for multiple years. Are you sure it was just recently broken and not that you only noticed it now? You might need to work around it if you want a timely fix.
It was first in last update that another player told me it was happening to him, and it turned out to happen to alot of people.
They thought it was my new update but this bug replicates on places I have not updated and that’s why Im certain roblox did something.
We all believe that it’s an issue and that it should be fixed, we’re just trying to explain to you that it isn’t a new bug.
And in fact, I just tested some hover-based UIs in my game and they actually work better than they used to since I last tested MouseLeave (note: I did not test hovering between nearby buttons, only buttons on their own). I’ll look into this more when I get home.
It’s most likely that, MouseLeave bugs usually happen when hovering between nearby buttons. I don’t have anything on hand to test this at the moment so perhaps you could test this and see if this is indeed a new MouseLeave issue.
IIRC MouseLeave wouldn’t fire if the player did something like switch windows or open the client menu while hovering over a button and moving their cursor to another location, these appear to have been fixed.
I guess I did have some UI on my laptop to to test with but it’s written to override MouseLeave events with MouseEnter so this is only reliable for proving that the window switch / menu issue I mentioned has been fixed, although I do notice that the custom cursor follows the mouse but MouseLeave is not triggered until the mouse moves while the game menu is closed.
If it’s of your intention, apply the rule that only one element can be selected.
When MouseEnter is fired, call the function you connected to MouseLeave for the last selected ui, or make a selection ui under the selectable uis that tweens to your target.
I once used MouseMoved to detect the position of the mouse, and accordingly place the selection ui with math.floor.
im getting the same thing. you can actually replicate this bug with the roblox backpack gui; try dragging a tool around quickly and it’ll get stuck. this was not happening before, tested it with multiple users.
We may have released a feature that made this bug more prevalent. I’m going to look into this, but long term we have plans to rewrite a lot of this code to make it more robust. When we get to shipping this I’ll make sure it is in the changelog
I’m having the same problems with my games. No changes to my code, but hover animations on my buttons are getting stuck in hover mode even when my mouse is moved away.
This is a big issue, I’ve been getting so many UI bug reports for my game lately because of this - and I can’t do anything about it unless I work around it, which really should not be necessary.
I think this is a big issue since it’s one of the basic features of UI design.
Not only that, but it’s visible in almost every game on ROBLOX. Players who run into this oddly unappealing bug assume it’s the developer’s fault and complain about it, which would also affect the game’s ratings.
These kind of features, in my opinion, should be more reliable.