SpatialVoice++ (Better Spatial Voice Features)

Ever wanted more features with Spatial Voice? Well. You’ve came to the right place!
Don’t know what Spatial Voice is? Click here for more information.
This system is courtesy by Lakodex for the Roblox Voice Community Discord created by @BigScriptus but is not officially affiliated.

This is a module that adds more features to Spatial Voice that doesn’t exist without it.

Features

Global Voice Chat

Turn the mic up, and speak as loud as you can! Everyone in your server can hear whatever your saying! And this is toggleable per person! This is great for Voice chat intercom systems. And also great for games like Open Mic Night.

Seversided IsVoiceEnabledForUser

Something that all developers didn’t know they needed! You can now check if a person has their VC enabled in Server Scripts!

More Features coming soon.

Requiring, and running SpatialVoice++

At this time. SpacialVoice++ is not yet released and is still in testing phases. This post is just a spot for it to sit in when it’s finished.

You can find the test place here if you would like to try out some of it’s features with friends. (VIP Servers free)

Documentation/Help area.
Come here when you need some help.

InsertVoicePlayer

This shouldn’t really be used as the module should do it automatically. But is useful for debugging.

SVPP:InsertVoicePlayer(Player Object)
Add the player to the Module as a user with Spatial Voice access.

local SVPP = require(game.ServerStorage["SpatialVoice++"]) --// Require the module.
local player = game.Players.Roblox --// Get the player object.

SVPP:InsertVoicePlayer(player) --// Inserts the player like they have VC Access.
IsVoiceEnabledForUser

SVPP:IsVoiceEnabledForUser(Player Object)
Checks if a user has access to Spatial Voice. Useful for lots of stuff!

local SVPP = require(game.ServerStorage["SpatialVoice++"]) --// Require the module.
local player = game.Players.Roblox --// Get the player object.

local isEnabled = SVPP:IsVoiceEnabledForUser(player) --// Requests if the players VC is enabled.
print(isEnabled) --// true/false
GlobalVoiceToggleForUser

SVPP:GlobalVoiceToggleForUser(Player Object)
Toggles on and off the Global VC System.

local SVPP = require(game.ServerStorage["SpatialVoice++"]) --// Require the module.
local player = game.Players.Roblox --// Get the player object.

SVPP:GlobalVoiceToggleForUser(player) --// Turns it on.
wait(5)
SVPP:GlobalVoiceToggleForUser(player) --// Turns it off.
GlobalVoiceEnabledForUser

SVPP:GlobalVoiceEnabledForUser(Player Object)
Checks if Global VC is on or off.

local SVPP = require(game.ServerStorage["SpatialVoice++"]) --// Require the module.
local player = game.Players.Roblox --// Get the player object.

SVPP:GlobalVoiceToggleForUser(player) --// Turns it on.
local isEnabled = SVPP:GlobalVoiceEnabledForUser(player) --// Check if it's enabled.
print(isEnabled) --// True

wait(1)

SVPP:GlobalVoiceToggleForUser(player) --// Turns it off.
local isEnabled = SVPP:GlobalVoiceEnabledForUser(player) --// Check if it's enabled.
print(isEnabled) --// False
3 Likes

You see, the problem with something like this is, you need to deploy really sketchy type of hacks to solidate your code, in order to validate these features you’ll have to sacrifice the normal ética for things you’re accustomed too.

I also developed a resource much like this, however offers more… (and is public.)

Though I do have a question, is your implementation hacky? If not then this would be essentially the perfect opposing resource to the above.

Actually Global Voice chat wasn’t hacky and player nametags/healthbar, and voice chat icons still appear when global VC is enabled.