Game-specific Settings in the Escape Menu

It’s extremely common for games to implement their own specific settings for users. For instance, many games have a button for muting their in-game music.

Unfortunately, I find myself hunting for this button in lots of games and developers tend to put it wherever they feel like.

I think it would be great to have a unified place for game-specific settings which are created by developers.
This could exist as another tab inside the escape menu (a place where client settings already exist).


By adding a new SetCore API, developers could define a particular setting and pass in a callback for when that setting is changed.

This API should take:

  • a type of setting (Checkbox, Slider, Dropdown, etc.)
  • parameters based on type, default value
  • a callback for when that setting is changed and the value it was changed to

The addition of this API would allow for games to be more accessible to users of different platforms. It would make developers more willing to add client side settings to their games.

Additionally, wrapping this SetCore call in an if statement would allow developers to give certain settings to certain users. (Debug mode?)

33 Likes

As cool as this sounds in theory, I feel like the actual issue here is very minor - you can’t spend more than thirty seconds hunting for a mute button (which is technically already do-able in the settings tab) if you’re avidly looking.

It’s definitely not a bad idea to open more options for SetCore, but I feel like this specific use-case is more of a minimal problem that can only be applied to a fairly small portion of games.

2 Likes

Ah, maybe that wasn’t the best example. It’s just a very common setting that a lot of games have.

The key here is that games would be able to add settings for all sorts of things.

  • Have client side effects that might not run so well for lower end users?
  • Want to let users remove their hats easily in-game so their face isn’t obscured?
  • Want to add configuration options for VIP Server owners?

This API would allow for all that very easily. It also automatically supports multiple platforms thanks to Roblox’s existing UI stuff in the escape menu.


I feel that many games don’t bother adding a user settings GUI because it’s difficult. They’d rather spend their time working on other features (which is completely understandable).

Just as a side note, while you can globally mute a game’s audio from the settings, you cannot turn off just their music. You would also lose any other sound in the game (shooting noises, sword swings, jump sounds, footsteps, etc.)

10 Likes

I love this idea. However, I think it is potentially dangerous to mix core and game UI. Anything living in the core GUI is going to seem inherently less dangerous to players and it introduces less consistency to the core UI.

1 Like

I agree, this follows a similar argument that the Topbar customization stuff does. This space has traditionally been Roblox only. So yes there’s an argument for the effects of altering that space.

However, the proposed API does not allow for anything malicious. All you could really do is add buttons, slides, etc and call backs. Nothing where users can really enter their information.

1 Like