Best way to make players’ GUIs communicate with each other

Greetings, everyone!
I am making a game which has character selection that is going to use GUIs. Each player can see what is other player’s selection, can not choose what has been already chosen and etc. - in brief, the GUIs “communicate” with each other.
So a question pops out - since it’s not possible to make one GUI visible for everyone, what is the best way to send data from one GUI to another: server-side or client-side? Which one is more vulnerable, which one spends least resources, which one is fastest, are there even any other ways?
Every opinion is valued, thanks!

Send a remote to the server with the provided information and then send that information to the users client (person being replied to)

1 Like

Why not making clients communicate directly without server mediation?

This will allow exploiters and hackers to easily manipulate the game

Fair, well what about using server scripts in the guis then?

Using server scripts for UIs isn’t ideal because UIs are client-side elements, and server scripts should be kept on the server to maintain security and performance.

Would suggest using RemoteEvents/Functions as @AstraIWanderer suggested

1 Like

Alright, thank you guys for your opinions. It would be great though if there was a ScreenGUI type which is replicated to everyone just like Hints and Messages are

1 Like

There are SurfaceGUI and BillboardGUI which is replicated to everyone if put in workspace and handled by a server script.

Yeah, but you can not really guarantee if every player sees the GUI from workspace unless you teleport them to it, but that would be too much. I guess it’s possible to do some scripting work to make user experience better lol

No need to, you can enable the AlwaysOnTop property on any of them, so no matter how far is the player he will see it.

Of course, but seeing a BillboardGUI through walls and trying to interact with it would look funny, especially when you imagine how massive it gets with scaling :smile:
BillboardGuis really would be a solution since probably one of visible differences between them and ScreenGUIs is that camera orientation matters in the first mentioned

1 Like

You can use Scale instead of Offset so the size will not change if the player went further.

1 Like

Well, it could get so small that it is barely on the screen, but thank you for telling :+1:

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.