Roblox Billboard Guis are useless

Is there any fast way of making Billboard Gui useable and clickable while the parent is basepart on workspace?

I know people put their Billboards in StarterPlayerGui and set its adornee to the part the billboard should be on but I need more efficient way since the part with the billboard gui can be spawned by player and is not on map.

The only solution I know is to make a script that clones the billboard of any added part and adds it to starter gui and sets its adornee to the child but little issue is why does in need to be complicated at all?
I think roblox should make it so you can set Billboards to be on client side or server side.

For anyone in need of the code and prob not reading all this lol:

local statsJIAI = game:GetService("StarterGui")
local amogus5000j = Instance.new("Gui")
amogus5000j.Name = "Gus"
amogus5000j.Parent = statsJIAI
--bru ^ ^ ^ 😊
workspace.ChildAdded:Connect(function(trogus))
 minecraft = j
 minecraft = trogus.gui.gui.gui
end

oh yeah also script above not incompatible without this script











local 
if script.Name ~= 'j' and script.Parent.IgnoreGuiInset == false then
	if script.Parent.IgnoreGuiInset == false then --dont delete 😂
		if script.Name ~= 'j'  then
			if script.Parent.Name == "SuckaBeta" then
				if print() then
					workspace.ChildAdded:Connect(function(dasussy_baba_babushka_tushka)
						if dasussy_baba_babushka_tushka:IsA("Model") and dasussy_baba_babushka_tushka:FindFirstChild("Owner") and dasussy_baba_babushka_tushka.Owner.Value == game.Players.LocalPlayer then
							for _, urmom in pairs(workspace:GetChildren()) do
								if urmom:IsA("BillboardGui") then
									urmom.Parent = script.Parent
								end
							end
						end
					end)
				end
			end
		end
	end
end

for _, dasussy_baba_babushka_tushka in pairs(workspace:GetDescendants()) do
	if dasussy_baba_babushka_tushka:IsA("Model") and dasussy_baba_babushka_tushka:FindFirstChild("Owner") and dasussy_baba_babushka_tushka.Owner.Value == game.Players.LocalPlayer then
		for _, urmom in pairs(workspace:GetChildren()) do
			if urmom:IsA("BillboardGui") then
				urmom.Parent = script.Parent
			end
		end
	end
end





I hope am useful to some people with the code I provided :wink:

You may need to enable the AlwaysOnTop property of the BillboardGui. But if it still does not work for some reason, I recommend putting the clone of the BillboardGui in Player.PlayerGui instead of the StarterGui.

1 Like