Hello! I had the same problem making laser-lights and neon that changed to the music in one of my places. The simplest solution is to spawn all the things you need to change color inside the localscript. I myself just had the script iterate over all the things that needed to be clientside and clone them, deleting the originals, Once they’re spawned on the client, you can change the color (or transparency) at will per client.
As for multi-client sync, it’s generally a bad idea for a few reasons, and among them:
- The audio will not be in perfect sync with all players, so if every player tells the server there was an update, the lights will just spaz out.
- It’s slower for things like this to be calculated on the server anyways
In conclusion, I believe you should rework your systems to use per-client instancing for colored parts.
Edit: Keep in mind that things will no longer be directly accessible from the server once moved to local, so any communication will need to be done with values or something.