Client does not have input option even while having a microphone

Hi all,

I’ve recently been trying to get voicechat to work with my headphones because they have a built in microphone. Although whenever I go into the client settings to select my input device, it is not there. I noticed it works when selecting a different device although I am not sure why.


Does that happen both in live games and in Roblox Studio? I’ve encountered a similar problem that only seems to be affecting Roblox Studio.

When joining my game via the Roblox website, the in-game settings displays my connected Input Device (which is a standalone microphone) but it’s completely missing when playtesting in Roblox Studio and I’m not sure why.

Edit (February 24th, 1:28 AM): It turns out that the Input Device option only appears while in a “Team Test” in Roblox Studio (meaning that Team Create has to be enabled). Not sure why this would not be available in a standard playtest in order to independently experiment with Voice Chat features without needing to have Team Create enabled. It would have been nice to be able to have a local playtest with 2 or more clients, for instance, in order to test scenarios that would typically require multiple users.

(After doing some more tests, it’s actually somewhat possible to achieve that without entering a “Team Test”, but Voice Chat is not actually transmitted between the clients. With the “Handheld Radios”, I had one client go on mute and the second one stay unmuted, and only from the perspective of the second client were the radios moving and audio being played.)

A bit disappointing that I cannot easily test some Voice Chat features in Roblox Studio without needing to use two separate devices or invite another user into a Team Create session, but maybe this could be a feature request for the future…

Edit #2 (February 24th 2:21 AM): Hmmm, after experimenting with the Audio API Tutorial test place referenced in the Audio API announcement thread, it turns out that Voice Chat features work in solo playtests without Team Create enabled, however, the in-game settings menu does not display the “Input Device” nor does the UI at the top left of the screen provide the ability to mute the microphone / see when audio is being transmitted. I only figured this out by using the “Handheld Radios” and hearing my voice even when I was not in a “Team Test”. This leads me to believe that the omission of the “Input Device” and other related Voice Chat settings within the UI of solo playtests is a bug; will have to create a report for that once I get access to submitting bug reports.

None of this behavior is currently documented in the Chat with Spatial Voice Roblox Developer Hub article.

Live Game

Roblox Studio playtest

Another Roblox Studio playtest (with the “Updated Roblox Controls” Beta Feature turned off)

Roblox Studio “Team Test”

(Closing thoughts from my original post here)

Note: The option for an “Input Device” never appears in Roblox Studio playtests regardless of what UseAudioApi and EnableDefaultVoice are set to.

I even tried checking what VoiceChatService:IsVoiceEnabledForUserIdAsync() returns in Roblox Studio, and it returns true when running from a LocalScript, which means that it recognizes that I’ve enabled voice (but it throws an HTTP 403 (Forbidden) error when running from the server-side).

Not sure how recently this might have started happened since I kept Voice Chat turned off in the website settings but I recall seeing a pop-up that would appear at the top of the screen when playtesting in Roblox Studio within the past year or two which stated if the LocalPlayer was “eligible for Spatial Voice” or something along those lines. That no longer appears whether I have the setting on the website turned on or off, for some reason (but maybe that was removed a while back?).

It’ll be pretty difficult to test out the new Audio API’s interaction with Voice Chat without figuring out a solution to this, so I hope someone will be able to provide some insight into what could be causing this to happen.

CC @ReallyLongArms