After the recent mid-July 2025 Roblox update, my game’s UI began breaking entirely following character resets.
Although GUI elements appear visually inside PlayerGui, their children (such as Title under a BillboardGui) start returning nil when accessed via script.
This issue did not occur prior to July 17–20, 2025. It now consistently breaks essential UI systems like inventory, hotbar displays, and contextual BillboardGuis after a character reset.
Setup in my case:
I have a BillboardGui named ArmorGUI placed inside a folder called BillboardGuis, under StarterGui.
In a LocalScript located under StarterPlayerScripts, I access the label like this:
local title = player.PlayerGui.BillboardGuis.ArmorGUI.Title
On first spawn, this works perfectly - the GUI is cloned correctly, and Title is accessible.
The Bug
After resetting the character, the same line consistently throws:
Title is not a valid member of BillboardGui “ArmorGUI”
The confusing part is this:
- In the Explorer, ArmorGUI and all of its children (including Title) are visibly present under PlayerGui.
- But the script still fails, and accessing ArmorGUI.Title returns nil.
However, running a command like:
print(game.Players.LocalPlayer.PlayerGui.BillboardGuis.ArmorGUI.Title)
…immediately after shows that Title does exist, it prints the correct object !?
This behavior is consistent and only began after the recent Roblox updates.
It seems like a replication timing or GUI desync issue tied to how StarterGui is re-cloned into PlayerGui post-reset. Happens alongside the warning:
GuiService:AddSelectionParent already has selection group with name PlayerlistGuiSelection, overwriting selection group.