Allow single sound instances to play from more than one part at once

Currently it’s impossible for sound to play from multiple spots at the same time. Right now the best you can do is put two different sounds with the same id on separate bricks and :Play() the sound and then use :Play() on the other sound for the very next line. This would create a small difference in time between sounds, creating almost like an echo effect b/c they aren’t perfectly in sync.

The solution i have to this would be allowing multiple objects to be able to linked itself to a sound in a similar way to how sound can be linked to a sound group. When the sound is played, you can hear the sound come out of all the things linked to it. By default, sounds would be heard by its parent like how it is now without this capability. An alternative method could also be a SoundGroupId for a part like the CollisionGroupId but for sounds. The first method would also allow better organization and less redundancy for sounds b/c sounds could be placed in SoundService and they won’t necessarily be heard from the sound service b/c the sound is being played from the parts that are linked to it.

If you wanted to make it a little more fancier too, create a way so a sound can play on it’s own if it wanted to instead of all the linked parts. For instance, all the M16’s in a shooting game are using the same sound object, and it allows them to all play the shooting sound without playing the sound for every M16 when they are not firing.

2 Likes