CoreGUI Voice Chat Settings & UI not appearing in solo Roblox Studio playtests

When running a solo playtest in Roblox Studio, several options related to Voice Chat within the “RobloxGui” and the “TopBarApp” CoreGUI are missing. This includes the “Input Device” setting and the ability to mute or unmute the microphone.

This happens 100% of the time when running solo playtests in Roblox Studio.


Reference Images:

Roblox Studio Solo Playtest


Roblox Studio Team Create “Team Test”


Roblox Client (Live Game)


Date First Experienced:

  • February 23rd, 2024

Reproduction Steps:

  1. Turn on “Use microphone to chat with voice” in the “Privacy” tab of your Roblox account settings.

  2. Open any place in Roblox Studio.

  3. Select “Game Settings” via the “Home” tab in the Roblox Studio ribbon, choose the “Communication” tab, then make sure the “Enable Microphone” setting is turned on.

  4. Press “Play” in the “Test” tab of Roblox Studio’s ribbon.

  5. Observe that the option to choose the Input Device or mute / unmute the microphone does not appear in the UI at the top left of the screen or in the Roblox Settings Menu.


Reproduction File:
Example Place.rbxl (52.0 KB)


Workarounds:

  • Option #1
    • By starting a “Team Test” in Roblox Studio, the options for Voice Chat appear in the CoreGUI:
      1. Enable the “Team Create” window via the “View” tab in Roblox Studio’s ribbon.

      2. Select “Turn On” in the Team Create window.

      3. Start a “Team Test” via the “Home” tab in Roblox Studio’s ribbon.

      4. Observe that the option to choose the Input Device or mute / unmute the microphone appears in the UI at the top left of the screen and in the Roblox Settings Menu.


  • Option #2
    • Using the new Audio API, it is possible to use Voice Chat in solo playtests:
      1. Turn on the “New Audio API” Beta via File → Beta Features.

      2. Open the “Model” tab in Roblox Studio’s ribbon, select the “Service” button, then insert the “VoiceChatService” Service.

      3. Set VoiceChatService.UseAudioAPI to “Enabled” and turn on VoiceChatService.EnableDefaultVoice (or create an AudioDeviceInput for the player via a Script with “Legacy” or “Server” RunContext).

      4. Start a solo playtest via the “Test” tab in the Roblox Studio ribbon.

      5. Look at the Explorer window, then open the “Players” service. Open up the player object then select the “AudioDeviceInput”.

      6. Look at the Properties window, then turn on the “Active” property for the “AudioDeviceInput”. This makes it possible to use a connected Input Device for Voice Chat in solo playtests but does not make any of the Voice Chat settings appear in the CoreGUI, which means you cannot switch between connected Input Devices.


Beta Features:

  • New Audio API

    • Note: The described issue happens whether or not the “New Audio API” Beta Feature is turned on or off.
  • Updated Roblox Controls

    • Note: The described issue happens whether or not the “Updated Roblox Controls” Beta Feature is turned on or off.

System Information:

  • Windows 10 OS. Version 10.0.19045 Build 19045

  • CPU: Intel Core i7-7700K CPU @ 4.20GHz

  • Memory: 32.0 GB

  • GPU: NVIDIA GeForce GTX 1080


Expected behavior

Expected Behavior:
Any settings / options for Voice Chat should be visible in solo Roblox Studio playtests to remain consistent with the behavior of Roblox Studio “Team Tests” and playing on live servers via the Roblox client.

Especially with the introduction of the new Audio API, having these options available / easily accessible in solo Roblox Studio playtests would greatly improve the user experience for developers wanting to test Voice Chat in Roblox Studio without needing to enable Team Create and enter a “Team Test” in order for the UI to be visible.

3 Likes

Thanks for the report! We’ll follow up when we have an update for you.

3 Likes

Hey @StrongBigeMan9; a fix for this is currently in-review

There’s some code which checks whether you’re connected to one of our voice servers before spawning the local AudioListener or any of the Voice-related Core UI – unfortunately that check tends to return “false” in solo studio sessions, and it has been kind of a doozy to decouple/emulate.

Even after that lands, there might be other side effects – so thanks for the report, and keep 'em coming!

1 Like

Hey @StrongBigeMan9 there were a couple fixes in yesterday’s release aimed at addressing this – could you give it a try now?

1 Like

Thank you so much for the follow-up! I saw the patch notes yesterday and was pretty excited to test it out.


The UI appears and is functional when starting a playtest through the Play / Play Here buttons in the Simulation category (which solves the original bug reported in this thread).

However, this seems to have impacted the functionality of AudioDeviceInputs in “Local Server” playtests through the Clients and Servers category when set to 1 Player, 2 Players, or greater. The Active property is able to be toggled but IsReady never turns on.

Playtesting

Previously, it was possible to run a Local Server playtest and then manually turn on the Active property after selecting the AudioDeviceInput in the Explorer, but this no longer makes the IsReady property turn on, either.

I wasn’t sure if that was an intentional change, since prior to this update, Voice Chat audio could not be transmitted between multiple clients in Local Server playtests anyway. I was in the process of finalizing a separate bug report for that but I wanted to check beforehand in case this update happened to simultaneously solve it, too.

I didn’t know if it was actually a bug (Voice Chat Audio not being transmitted between multiple clients in Local Server playtests) or just unsupported functionality. If possible, I would appreciate clarification regarding this to help me decide whether or not I should still file a separate bug report for that behavior.


And thank you again for taking the time to look into this! I really appreciate the way that community feedback has been handled in recent times, especially in regards to the Audio API and related features :grin:

1 Like

Ah;

Previously, it was possible to run a Local Server playtest and then manually turn on the Active property after selecting the AudioDeviceInput in the Explorer, but this no longer makes the IsReady property turn on, either.

I wasn’t sure if that was an intentional change, since prior to this update, Voice Chat audio could not be transmitted between multiple clients in Local Server playtests anyway

I didn’t know if it was actually a bug (Voice Chat Audio not being transmitted between multiple clients in Local Server playtests) or just unsupported functionality

We don’t support transmitting voice over local playtest servers at this time. The IsReady property is supposed to convey whether voice is actively flowing over the server, and the fixes aimed at the UI also unintentionally changed the IsReady property to reflect that no voice is being transmitted

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.