Notched Screen Support - FULL RELEASE

Hi, thanks for reporting your concern with AbsolutePosition! Would you be able to share a specific usecase where AbsolutePosition isn’t working as you would expect it to?

It also sounds like you are trying to get the size/position of the Roblox top bar in order to adapt your UI to it. We actually have added a new API currently in beta, GuiService.TopbarInset which exposes a Rect datatype of the “safe area” within the top bar that is unoccupied by Roblox buttons:

1fb411b872082fda9361a65070ab3daf23cb59c0

So this “TopbarInset” area could be used to position custom buttons at the top of the screen.

You can also set ScreenGui.ScreenInsets=TopbarSafeInsets (currently in beta) to create a ScreenGui where the contents are the safe area of the top bar. (Documentation here).

With regards to the left/right safe area insets due to screen cutouts, our goal is to make it easy to anchor UI to the device safe area edges, shown in purple here:

You can achieve this by adding GuiObjects in a ScreenGui with ScreenGui.ScreenInsets=DeviceSafeInsets. The GuiObject’s Position property then sets its position relative to the safe area boundaries.

So, for the simple usecase described here, the GuiBase2d.AbsolutePosition property isn’t actually used.

Just for some more background on the AbsolutePosition property, we recently updated the behavior of GuiBase2d.AbsolutePosition on notched devices in order to preserve backwards-compatibility with existing lua scripts. Here is a diagram showing the changes:

So the AbsolutePosition coordinate system origin is at the bottom-left of the top bar.

For advanced users who would like to measure the left/right sizes of the safe area, you can use the code provided in the original post here.

5 Likes