How to make the same Part appear with different colors for each player?

Since a part created by the Server is visible to all players, how would it be possible to make some specific property of this part appear differently to different players?
For instance, Player1 sees a part as blue, while Player2 sees the same part as yellow…

You can use localscript.

This I know, but my question was about a part that is created through Server.
LocalScript will create a different part for each player, and I can’t control them through Server.

You can create the part from the server and to change the color from client.

If I change any property of a part create by Server in a LocalScript, this change will be replicated to all players…

You can use BrickColor.Random() in the localScript to set a different color to each player.

Just create the part from Studio or using from a server-side script. Then for each player I’ll use a LocalScript doing something like this:

local Part = workspace.Part

if Part then
   Part.BrickColor = BrickColor.Random()

It really just depends on what you want to achieve.

1 Like

I don’t think this is true. After you’ve created the part with a server script, no change made with a LocalScript will be replicated to the server or the other clients.


Simply use a remote event and set the color on the client.

I was wrong, sorry.
I’m starting to test simultaneous multi-users now and got confused.
I did a test now in Studio and the properties are not really replicated:

local Players 	= game:GetService("Players")
local Player 	= game.Players.LocalPlayer

if Player.Name == "Player1" then workspace.Part.BrickColor ="Really black") end
if Player.Name == "Player2" then workspace.Part.BrickColor ="Really blue") end

1 Like