Which method should I use to replicate car sounds?

Currently in my car game I have the clients calculating the sounds of each car by the wheel rotvelocity, but it sounds very plain because you can’t hear the backfires/engine revs thats heard on the drivers client. I used to have a remote event send info to the server and then play sound on the server, and that sounded really good but people complained of lag.

Is there any possible way to use remote events without making it lag too much? Maybe send less info to determine the sound on the server than I did before? Or would that not make a difference and I should just try to simulate the sound better on client

The best solution I can think of is play the car sounds locally for the driver immediately, and then with the use of remoteEvent:FireAllClients(), you can replicate the sounds to play for other clients as well, excluding the driver obviously as it’d play it twice.


Would it be better to have the driver play sounds locally and play the rest on the server? And mute the server sound for the driver

That’s a good idea as well. Whatever you’d prefer to use.

FireAllClients() and play everything locally for each client (don’t play for the driver beforehand, have the sound played for them be handled by FireAllClients() as well).