I’m looking into trying to create a system that uses BillboardGUI’s to display text in world, but to have that text instanced per player. Meaning Player 1 would see the letter “A” and Player 2 would see the letter “B”. Then some time down the road I would want to change Player 1’s billboard to say “C” while stilling having Player 2 see the letter “B”.
While I haven’t found any good solutions something I have tried that could potentially work but doesn’t sound like a scalable solution would be to listen for when a player joins the game, and create a BillboardGUI for them. I would then also have to notify all clients via an event to set the “PlayerToHideFrom” param on the billboard to themselves unless the billboard that was created was their own.
Let me know what you think of my proposed idea though I have a feeling its not very scalable and i’m hoping there is a easy way to do this that I am missing.
Are you referring to using a localscript to do that? Because I tried that and didn’t seem to get any results aka the text didn’t change and so I tested the same thing in a normal script and it changed fine but was replicated across all users.
Yeah, a localscript should be able to change the text fine, I’m not sure why it wouldn’t. You couldn’t just parent it to the billboard, but you should be able to reference the billboard fine. Where was the localscript you tried this with?
This is the current layout I have, BillboardGUI Attached to a Part in the workshop that has 2 TextLabels, one being changed by a local script and the other being changed by a script, both running the same code. Which is the following "script.Parent.Text = “1” "
There is a much simpler way to make this work. You can give every client it’s own BillboardGui, either by creating a new one under Player.PlayerGui or by placing it in StarterGui in Studio. Then, to display the BillboardGui in the game as if it were placed directly in a part, you can set the Adornee property of the BillboardGui to that part to display it as if it was in the Workspace.
Now you have a BillboardGui for every player, that is owned by the player and located in PlayerGui. You can manipulate the text through a LocalScript like you would do with any other Gui element, and even have the LocalScript parented to the BillboardGui directly.