Checkpoint color change when touched?

Hello all! i have been building an obby and i need some help.
how would i make it so when you stepped on a checkpoint it would change from white - to neon green? but only on one players screen, the person who stepped on it, and have the color change stay in affect even after rejoining. i am EXTREMELY new to scripting and i cant seem to figure this out.

1 Like

I think both can be done with remoteEvents, have a remoteEvent set up that once it is fired for a client, it goes through the folder of checkpoints you have, compares the number the checkpoint is and if it’s less than or equal to the stage you are at, change it to Neon Green.

And you can have a RemoteEvent set up as well so when the Touched event on the Server is fired and the checks are all passed, it changes the material of the part for that client

Basically, RemoteEvents with OnClientEvents set up should be how you have to do it


You can (and should) do this without a RemoteEvent. If it’s not necessary to transmit anything over the network, avoid doing it - unnecessary overhead.

The client can check the checkpoint that it’s stepped on, the current level and if the checkpoint corresponds to the next level. If your system is set up well, you don’t need to do any iterating either, you just need to take the data of the checkpoint reached and compare it with the previous.

The client is also capable of handling its own touched events and changing the colour of the checkpoint. It’s all doable from a LocalScript. The only place where you’d need a RemoteEvent realistically is if you use DataStores so you can inform the client of their placement.

1 Like

and it saves when you rejoin? …

If you want any data to save, you will have to use DataStores. RemoteEvents are just for crossing the client-server boundary which you don’t need to use for changing the colour of your checkpoints when they’re touched.

1 Like