It’s currently impossible for third-party-packages like TopbarPlus to check whether an experience has voice chat enabled or not:
This is necessary otherwise it’s impossible to account for features like the BETA topbar label:
To check for individual players you can use VoiceChatService:IsVoiceEnabledForUserIdAsync(localPlayerUserId)
however this is incomplete because IsVoiceEnabledForUserIdAsync
returns true
even if the experience has disabled VoiceChat.
We can’t overcome this with our own property/variable like IconController.isVoiceChatEnabled
because TopbarPlus is used by additional third-party-applications like HD Admin and the Super Biz Catalog which don’t manage the games their applications are used within.
We also can’t use an external approach such via HttpService as TopbarPlus is entirely client-sided (introducing server-sided code would introduce major unnecessary bloat) and many experience don’t even enable HttpService.
Overcoming this would be as simple as introducing a VoiceChatService property like:
VoiceChatService.IsVoiceChatEnabledInExperience