OnPointerExit not called, if a new UI element suddenly covers the old one

So I have two UI elements A and B, with B overlapping A. Now I move the mouse over A, and it registers the OnPointerEnter. However now suddenly B is activated, covering A. Even though the pointer is no longer over A, no OnPointerExit is called for A.

Anyone have an idea on how to get around this? It’s making my tooltip solution behave oddly whenever a button opens an overlay.

Hm. No. It does properly exit, just in some cases it instantly enters again…

Not 100% sure we reprocess things if the mouse hasn’t moved even if visible elements change. i’d have to check that.

So i see where its going wrong now, instead of calling some costly function 66 times its doing it 600+ times. Took a while to download 5.1.4 to compare

I think i know exactly whats going on now. I’m going to leave myself some notes so i can remember when i get back to it. I wouldn’t worry about this for now and hopefully i’ll have a fix early in the new year. But if you need feel free to remove me from your repo again.

Slightly confused, @phil-Unity . Not sure if these are replies to this issue or the slowdown UI issue. Regardless, while you have access, this issue can be seen in the game, if you want to give it a try. I’m going to message you how to repro this.

@phil-Unity Could perhaps my issue (and reported case) Unity 5.3.0f4 Touch Bug - Unity Engine - Unity Discussions be related to what you mention? The symptoms Martin writes about do not match exactly, but I do recognize the troubles with OnPointerEnter and OnPointerExit

Don’t expect ans answer anytime soon, since the UI team is in their holidays now :slight_smile:

Just bumping this, now that the UI team is back.

Yea sorry those were for the UI slowdown not sure what i was thinking :).

Seems like we have a bug reported which i will use to look into this further.