Possible GUI Rendering bug?

You can write your topic however you want, but you need to answer these questions:

  1. What is the issue?
    So… this issue is a bit hard to explain but I’ll try to explain it through Videos. I have a pet inventory system that allows you to equip and unequip pets. After I buy an egg (also happens randomly sometimes, not just when buying an egg) and open my inventory system back up to try to unequip a pet, the button does not appear anymore. I thought this may have been a scripting error for a little bit but then I looked at it in explorer, and the button should be visible but it does not appear. If I disable the Visible property on the button, the button somehow appears but does not function. If I tick it again to enable it, it functions just fine. I did not notice this at all in the previous days, which makes me think it’s a new engine bug. I also cannot post on the bug report section of the forum, so I am posting it here. I will include a couple Videos below to help visualize this, because it is hard to explain in written form.

GIF of bug (gyazo.com)
Video of bug (Vimeo.com)

  1. What solutions have you tried so far?
    Changing the ZIndex: Does nothing
    Lowering the number of descendants in the ScreenGui to lower the amount of rendering from 2100 to 750: Does nothing

Strange. I would assume it’s Z ordering, but you said you messed with it.

Maybe try moving the Unequip button so it’s not overlapping with any other buttons the next time it disappears, then you’ll be able to see if it really isn’t visible or if its just hidden.

Alternatively you could set the transparency of everything else to 1, e.g. by running this in the command bar when it happens:

local function recurse(obj)
	if obj.Name == "Unequip" then return end
	if obj:IsA("GuiObject") then obj.BackgroundTransparency = 1 end
	for _, child in pairs(obj:GetChildren()) do recurse(child) end
end
recurse(game.Players:GetPlayers()[1].PlayerGui)

Thanks for the reply. I figured out last night that if I change any of the properties of the button, it fixes itself. I am assuming it has to do with ROBLOX’s new optimization when rendering hidden elements. I plan on doing something like

wait()
btn.Visible = false
wait()
btn.Visible = true

which will hopefully fix it for now. I don’t enjoy this optimization stuff by ROBLOX, it has broken a few of my UIs so far.

Could you link to an announcement of those improvements or something? Just curious what you’re referring to.

I’ll ask my friend if he has any links to it or not. He develops UI a ton and says roblox optimization has broken his UI a lot, and mine seemed to be having the same issue. I just based upon what he said but I’ll ask if he has any official announcements from ROBLOX on it or anything.