Stuck Control3D if two mouse inputs down at the same time

Hello all,
There seems to be a fairly consistent issue with input handling around the Control3D elements.
Any time you have two inputs down on a control, it is then forever in the down state, never receiving any additional mouse events.

You can repro this with any Control3D element, but heres an easy sample:

  1. Left Mouse Down
  2. Right Mouse Down
  3. Release
  4. Broke.

Playground:


It is likely completely unrelated, however I have now had a few instances where a single mouse down > up will get into the same state when the up happens off canvas. I can’t find a reliable repro for this for the life of me, so only mentioning this as an aside in case some link is evident to someone else.

cc our input most famous guru @PolygonalSun

So from what I’m seeing it looks like the first mouse button released will cause the control’s (3D button) _onPointerUp function to execute and remove a reference to the button before its interaction is done (control3D.ts, 461-467). What do you think @RaananW and @carolhmj?

Yep, that reference should only be removed if downCount is zero :thinking:

1 Like

Hey @carolhmj, by any chance do you have a couple of free cycles to look in the fix for this? I’ve got quite a bit on my plate so it may be a bit before I can get to this. If not that’s fine.