Roblox Client Volume setting is of type "float" but gets treated as "int", even for the new experimental menu

Description

GlobalBasicSettings_13.xml has these values

<float name="GamepadCameraSensitivity">0.839999974</float>
<float name="MasterVolume">0.200000003</float>
<float name="MasterVolumeStudio">1</float>

The issue here is that the Volume is of type “float” but the only input offered are stepped values. Even for the new experimental menu.

 

 

The Master Volume is of type **float**and you can indeed manually modify the Settings .xml File and set it to something like 0.15.

However, In-Game the Volume is only stepping up and down by 1.

If I manually set my Volume to 0.15 the Roblox Client will accept it, but if I go into the Volume settings and click + or -. It will actually just replace the entire number e.g. 0.1, 0.2, and so on, instead of incrementing it.

The Camera Sensitivity does have an input box. It also doesn’t currently fit onto the screen.

 

Some experimental New Menu does introduce an input box for the Volume Setting. However, if you type in 0.5 it will round it up to 1 and set 1.

Inputting 0.4 will round it up to 0 and so on

However, if you load into the game with something like

<float name="MasterVolume">0.15</float>

it will show up as
image

and aslong you don’t modify it through the in-game setting, it will leave your inputted value alone, which is good

Along with that, the Camera Sensitivity is displaying a completely different variable outputted from math functions

 

Re-production Steps

The GlobalBasicSettings_13.xml file is found in %LocalAppData%/Roblox.

  1. Locate the line that contains "MasterVolume" and change it so it matches <float name="MasterVolume">0.15</float>
  2. Launch the game
  3. Experiment with the settings e.g. in the experimental new menu, type in 1 and hit Enter then type in 1.6 (since that’s 0.16 when converted with math)
  4. Click out of the Text Box
  5. Close Roblox
  6. Check the new value of "MasterVolume" in the settings file.

 

The reason why we input 1 first, is to tell the game we changed our value from 2 to something else.

Because even if we manually set the volume to 1.6, the game rounds it up to 2 and will consider it being unchanged…

 

Expected Result

<float name="MasterVolume">0.159999996</float>

which is 0.16 but float.

Actual Result

<float name="MasterVolume">0.200000003</float>

It is very questionable whether this was done on purpose, or whether this is actually just unfinished, which it probably is.

 

But the question is, whether this is going to change. :thinking:

Because maybe the Component is set up to have a stepped value, but the input box and the slider go through the same logic, instead of being separated.

this menu is not new, its been around since 2020 abandoned and broken for years if you didnt know

Which one were you referring to?

The red arrow one or the blue one?

I know the red arrow one is old, I used it to compare it to that other menu. I don’t know about the blue one. However, Haptics appear inside that menu, and I don’t think Haptics existed before. But maybe it inherits from something else.

the blue arrow one is the one im talking about, it was an A/B test for a short while in 2020

1 Like

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