BillboardGui InputObject position is incorrectly affected by GUI insets

My guess is that the Device & CoreGui inset is being applied uniformly to InputObjects on all LayerCollectors, but this doesn’t make sense for BillboardGuis (and potentially SurfaceGuis too) since their inputs’ positions are relative to the BillboardGui / SurfaceGui and not the screen.

This also breaks old code which was trying to use InputObject.Position e.g. to check that it is within a rectangle, and also seems to break the hover effect we get from Button.AutoButtonColor?

To reproduce:

  • Download this place file and open it: billboard_inset_bug.rbxl (56.7 KB)

  • Make sure you have the Notched Screen Support and Updated Roblox Controls beta features enabled. This step is optional (the bug happens in live servers as well as in studio), but it makes the problem more obvious as it increases the topbar inset and allows you to use devices to emulate notch screens.

  • Use device emulator to choose a mobile device with a notch on the left hand side (e.g. iPhone 14 Pro, then press the rotate button twice to get the notch on the left side). This step is also optional as the topbar inset will always be there so you can just look at that without any device-related inset.

  • Play solo, try to click on the button. Notice that there are no hovering effects, and that the positions printed in the output when you click are in the negatives when you click on the left or top side of the button.

2 Likes