Billboard GUI - Who handles the resize when cloned?

I currently have a server script that clones a billboard GUI and parents it to the PlayerGui (in a specific ScreenGui for organization) and sets its Adornee to the specific part. But, who will calculate the size if the Size property is scaled? And if it’s the server, is there a way to let the client handle it without using a local script?

Note, I really want it to be handled by the client and not the server.

I’m pretty sure the size happens on the server.

I’m unsure if BillboardGUI’s can be handled on the client, but if you want BillboardGui’s to look different for specific players, you can always use a for loop and BillboardGui.PlayerToHideFrom then creating a new billboardgui with specific sizing for that player.
Example:

for _, player in pairs (game.Players:GetPlayers()) do
	myBillboardGUI.PlayerToHideFrom = player -- Hides from all players
end

or

myBillboardGUI.PlayerToHideFrom = PlayerIWantToHideFrom

Note: This is in a Script (a.k.a The Server)


If you want to make it look smaller for smaller devices and vice-versa, use Size.ScaleX (and Y) instead of using Size.OffsetX (and Y)

If I were you, I would clone the BillboardGui from client. ReplicatedStorage is a good place to store assets that you want to clone in later. Either way, since the client is rendering the BillboardGui, the scaling would probably belong to the client.

My only main concern for this topic is who handles the rendering, I didn’t say I want it to be hidden to some players.

Still, should I clone/create (Instance.new) a BillboardGui on the client or the server? It doesn’t matter if I want it to be hidden to some players, what I’m concerned is the performance to calculate the size.

You could have specified that you meant performance at the very beginning of the post. Let alone the title. That was pretty misleading.


You should instance it on the client if it allows you to. Performance wise, handling things on the Server produces more lag, for the server, and the player.

After some thinking, maybe you’re right. Since rendering is handled by the client, I can trust that.