Gui hover events have been broken forever and I’m going to fix them. If you have any solid reproductions for buggy behavior please post here or PM me. Thanks!
OOH I have one that’s been annoying me since the dawn of time! MouseEnterBugRepro.rbxm (2.0 KB)
Every time you click a button, it re-enables the MouseEnter event. In that repro, if you click the button and then move your mouse a bit (still on the button), the MouseEnter event will fire again even though you were already hovering over the button to begin with.
Another one (which you can test with the same file) is that the MouseLeave event will wait to fire until you’re not over a GUI object that captures mouse input (e.g. the topbar). If you mouse over the button in that file and move your mouse up into the topbar, the button stays highlighted (not just an issue with internal highlighting code – if you hook up MouseLeave to print it won’t get printed until the button becomes unhighlighted). The button isn’t unhighlighted until you move your mouse out of the topbar or whatever mouse-capturing GUI you moved it into. There used to be another bug with this where if you moved your mouse out of the GUI too fast it wouldn’t fire MouseLeave, but it doesn’t look like that’s an issue anymore.
I’ve had to handle GUI hovering on my own due to those two issues. It was too weird to have the button hover sound play after you clicked buttons, and it looked awkward when buttons would be highlighted even though you had moved your mouse onto the topbar or another input-capturing GUI object. They seem little, but fixing them will go a long way – thanks!
Hover events on objects in lower ScreenGuis are blocked by objects in higher ScreenGuis.
BuggyGUIs.rbxl (11.8 KB)
I have a custom script that has its own MouseEnter and MouseLeave type functions if anyone is interested.
This is what I’m trying to prevent :I