VoiceChatSDK - Mute, Unmute, Set Volume & More!

VoiceChatSDK


VoiceChatSDK was developed to help developers have a much better handle of VoiceChat in their experience, this SDK offers control over various VoiceChat settings & things that can help make your experience a ton more enjoyable.

Now, this isn’t magic, In order for VoiceChatSDK to work, we have to somewhat manipulate the roblox engine into thinking every other player’s character is a single part, meaning the VoiceChat sound will come from that single part, and in doing so we still need to keep replication for these characters.

  • Components: A Model/Group of objects which sum up a player
  • VoiceChatSoundEmitter: The sound emitter for VoiceChat, this is what the VoiceChat sound is coming from.

Below is an example of what a character will look like from the client.


What can it do?

Straight off the bat, the SDK offers signals for simple things such as onPlayerMuted & onVoiceChatClientsUpdated allowing you to monitor who in your game has voice chat.

This module also deploys various controls over user Volume, Stereo Channel, World Position and State allowing you to control your voice chat however you like!

This module also removes the Roblox’s voice chat icon (for other players), while also keeping chat bubbles safe to have running :smile:

To really find out how much this module can do, you’ll have to visit the GitHub link below


Installation

You can choose to head on over to the Releases github page and follow the instructions on the release, or download the following package and do the steps after.

VoiceChatSDK.rbxm (10.7 KB)

  1. Drag into roblox studio
  2. Place the VoiceChatSDK folder inside of ServerScriptService

What this will do is install the modules into the correct places during the games runtime, once you click on play, you should see a VoiceChatSDK module under ReplicatedStorage


Demo

Not sure this is possible? Or just curious to try this module out? Head on over to the place below as i’ve set up a few things which will allow you to control some of the factors mentioned in the API documentation below.


Links

API Documentation:

GitHub:

Latest VoiceChat updates:

And, that’s all! Be sure to let me know if it breaks :eyes: :wave:

85 Likes

this seems REALLY interesting, I’ll definitely play around with this when I’m able to.
This looks like it was really hard to make, well done

2 Likes

Sounds like a plan!

Yeah, this did take me a while of testing with multiple accounts. We persever! :smile:

1 Like

This is very similar to [POC]: Voice Chat Controls. Mute, Unmute & set the Volume of players voice chat!, but it’s great there is variety in the field! I was debating whether to make a post on more voice chat customization, as I was experiencing issues with in-game volume.

1 Like

Hey, yeah that topic was only the Proof-Of-Concept meaning though the module did serve it’s purpose, however, the way it did serve it’s purpose shouldn’t be used in your game :smile:

In a way it was just proving the fact that we can create flexible voice chat, we just have to do some slightly hacky type of things to get there.

However, this module is built for the game, it’s built with things like de-initialization & optimisation in mind, also offering a broad range of Signals & a significant amount more APIs

The fact we have to rely on insane hacks to implement Voice Chat Controls means…

Roblox Please Release VoiceChatService already, we know it already works because CoreScripts rely on it

16 Likes

Agreed, we shouldn’t need to deploy these not-so-light hacks to just use some essential features that VoiceChat actually has.

But, in the case that we won’t see an update for the foreseeable future, this is the only option (maybe someone’s already developed a proprietary software?) for now :sad:

6 Likes

I also agree, but regardless, you did a great job on this. Roblox developers can do amazing things nowadays! :slight_smile:

2 Likes

Now I just have to figure this whole thing out… haha

1 Like

Aren’t metatables fun?

Wait, did I say fun? I meant pain.

Regardless, while this is cool, having to re-parent everything in the character would break 95% of my game and I don’t want to have to re-code everything to support it. They should have either delayed voice chat until they added all the features it should have released with, or just not have added voice chat to begin with IMO.

Yeah… that is the down side to this module, however, what I can say is that:

  • This is only on the client, you will only have to change your client scripts.
  • You’ll have to change your references to factor in the new Components model as that well, that is the character. :sad:

I’ve spent a good 7ish hours experimenting to try and find a solution, but it’s too limited.

4 Likes

Ahh :grimacing:

Use the docs if you’re planning to use the module.
If you plan to try and replicate the module, take a note of this:

VoiceChat will emit from ANY part inside of the character. When deleted all parts, the emitter will just stay in the same position.

1 Like

Aye, that’s awesome news. I wanted to make a finalized product from the POC so it should meet all standards required.

Thanks! :smile:

2 Likes

Would you say with this SDK it is possible to create a phone system?

2 Likes

Completely, it’s designed to create in-game voice chat (team-based).

What you would do is mute EVERYONE in-game except for the person you want to talk to (on the client) which would allow you to have a direct line/voice chat with that person :smile:

3 Likes

Nice! I’ll check this out when I have time! Appreciate the response!

2 Likes

Because this is on the client, couldn’t someone just make it so they could hear the other team?

1 Like

The biggest downside of using this module would be the exploit it also brings into the scene. Yes, you would be able to unmute a players microphone.

However i’m focusing on the now, and what roblox has given us tool wise for voice chat. When you take hacky solutions into account, the idea that the game might be exploitable doesn’t seem that bad.

3 Likes

Is this broken? It doesn’t seem to work anymore.

2 Likes

I was about to say the same thing. I just tried the demo and none of the buttons do anything.

2 Likes