BillboardGui objects are rendered too low in Online Play

In Online Play mode, BillboardGuis are rendered 10 pixels too low on the screen.
This can be seen when making a BillboardGui that is supposed to cover the screen.

I noticed the bug today, and BillboardGuis were working correctly at least on the 15th of July 2014 and before. The bug only occurs in Online Play mode, not in Studio. The bug occurs 100% of the time in Online Play mode.

To see the bug in action, run the following code using a LocalScript on your client in Online Play mode, for example in a Script Builder place.

local Player = Game:GetService("Players").LocalPlayer local Mouse = Player:GetMouse() Player.Character = nil local camera = Workspace.CurrentCamera local cameraCFrame = camera.CoordinateFrame camera.CameraType = "Fixed" local part = Instance.new("Part") part.Anchored = true part.CanCollide = false part.CFrame = cameraCFrame * CFrame.new(0, 0, -1) part.FormFactor = "Symmetric" part.Size = Vector3.new(1, 1, 1) local billboardGui = Instance.new("BillboardGui", part) billboardGui.Size = UDim2.new(0, Mouse.ViewSizeX, 0, Mouse.ViewSizeY) local frame = Instance.new("Frame", billboardGui) frame.BorderSizePixel = 0 frame.Size = UDim2.new(1, 0, 1, 0) part.Parent = Workspace Wait(10) part:Destroy()

The result should look like this:

As can be seen in the attachment, there is a 10 pixel space at the top of the screen. This is counter-intuitive, was not the case on (at least) the 15th of July and before, and while the problem might not seem very big in light of the example, it suggests that all BillboardGuis are rendered 10 pixels too low, which is a problem of much larger scale.

A temporary solution is to use SizeOffset to accomodate for the offset:

billboardGui.SizeOffset = Vector2.new(0, -10 / Mouse.ViewSizeY) -- SizeOffset is upside down

However, I think it is unpleasant to script in such an unpredictable and counter-intuitive environment.

why are you trying to use a BillboardGui as a ScreenGui?

insert a ScreenGui into StarterGui and everyone gets one when they spawn.

That’s not the problem. The problem is that all BillboardGuis are rendered 10 pixels too low.

At least tell us what you’re trying to accomplish :confused:

so offset everything by -10 pixels on the Y axis. You’re wading in the land of stupid hacks already, and telling roblox to fix things so these hacks work is just kind annoying. Use a ScreenGui like a normal person.

I think using the FullScreen BillboardGui was just an example to illustrate that BillboardGuis are rendered too low so that you don’t just assume they are seeing things that aren’t there

Indeed, that’s my point! There is no excuse for BillboardGuis being rendered too low on the screen.

From the sound of it billboard guis aren’t accounting for the space taken up by the chatbar unlike other gui elements.