React is one of the most available and widely used UI libraries out there. It is pretty much an industry standard UI library. It’s very easy to hire people fresh out of college who were taught such industry standards for dirt cheap. React talent is cheap, easy to find and easy to replace.
the option to turn off 1 singular feature that nobody uses anyway should not be considered as “giving more control”
While it technically is more control, it is too insignificant
Performance could also be greatly improved by just giving us true control of how we want certain client aspects (chat, CoreGui, playerlist etc.) to both look and operate behind the scenes, so we can just throw this vampiric implementation of react in the trash and do our own thing with much less performance loss
Either that, or yall open up some kind of experimental thing where devs can try to improve the react things and whoever gets the best performance wins some kind of reward
I like this, but more control is basically just a technicality when it comes to disabling selfview. I would really like options to disable more topbar elements, including the stupid report button that doesn’t help at all because it’s also in the escape menu. PLEASE.
Or, you know, Roblox just fixes the performances issues like they’re doing right now and this isn’t an issue again.
ok, anyway can you guys not force us to have the annoying, useless button that we don’t need
(also why can’t we disable music)
this is so stupid bro
local GuiService: GuiService = game:GetService('GuiService')
local StarterGui: StarterGui = game:GetService('StarterGui')
local function SetCoreEnabled(CoreGuiType: Enum.CoreGuiType, Enabled: boolean): boolean
local Success: boolean, Error: any;
repeat Success, Error = pcall(function()
StarterGui:SetCore("ResetButtonCallback", false)
StarterGui:SetCoreGuiEnabled(CoreGuiType, Enabled)
end)
task.wait()
until Success
GuiService:CloseInspectMenu()
return true
end
local function SetControls(Enabled: boolean): boolean
GuiService.TouchControlsEnabled = Enabled
return true
end
SetControls(false)
SetCoreEnabled(Enum.CoreGuiType.All, false)
What we need:
Please let us disable the new “Music” feature in the experience controls! In my opinion, any new built-in UI added by Roblox should always ship with the option for devs to disable it, unless it’s absolutely necessary to keep it available at all times (e.g. the Roblox menu button).
Can the “What’s playing” UI (in-game Music window thing) be optimized?
Having the music “window” open decreases your frame rate, this is easily noticeable if you’re playing a slightly laggy game.
(In some cases, frame rate get divided by 2)
Seems like it was fixed not too long ago, I was still experiencing this issue the last time I tried but it seems like it’s gone now, great work !
On topic of optimization, will we be able to disable the reset button without having to run code like this?
Disabling it would go against the whole purpose of the feature. And the pause or settings menu is not the place for such features, so they don’t really have anywhere else to put it. I understand the desire to have a more clean interface and getting rid of the sub-menu, but there’s no realistic alternative placements, and hiding them would go against their reason for being there.
Edit: I already partially take back my statement, if there is no music prevalent in the game, disabling the button altogether makes a lot of sense. But identifying whether or not a game will have music, especially as audio instances and music can be loaded in by script upon only certain met conditions, would be basically impossible.
The “whole purpose of the feature” is to tell you the name of the current public music track that is playing, and none of my games use any public music, so it’s useless to me. I don’t want it. Having this new random floating window that the user can drag around also breaks immersion in experiences that aim to disable as much of Roblox’s UI as possible.
All they’d have to do is add Enum.CoreGuiType.Music
.
matter of fact let pc players disable both of them + the chat button
If a developer disables the button, but then music is played, just re-enabling the feature and forcing it to be enabled seems like a bad UX solution, hence why I mentioned the “realistic” solution of identifying whether or not a game would be potentially playing music at any point, which realistically is a basically impossible implementation. I can’t see Roblox making an option to disable it, if there’s no way to keep it enabled for the potential of music at any point in some games.
The chat can already be disabled by:
StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Chat, false)
But disabling the easily accessible report feature would decrease platform safety, even for single player worlds where the default report option is locked to “Experience”, not an individual, as an Experience could still contain inappropriate or harmful content.
We’re actually in the final stages of testing new experience controls for consoles
A game can still use public music assets without requiring the “Music” UI to be available… not sure what your point is; Roblox previously worked just fine without it.
Roblox is free to add more UI features, but the developer should still have the option to disable any UI that isn’t absolutely necessary for their experience.
I believe this is a bug, but when pressing the Report button in-experience, it fires GuiService.MenuOpened, GuiService.MenuClosed, GuiService.MenuOpened right after each other.
It opens the escape menu first, which fires MenuOpened, then it reloads the menu for the report abuse tab, which causes MenuClosed and MenuOpened right after. This could cause unintended behavior if using these events.
On a separate note, a game could hide the potentially inappropriate content upon the MenuOpened event, so disabling these events from firing entirely when accessing the report menu would be safer.
Sorry, I meant from a player perspective rather than a developer’s. If players know damn well they won’t use a feature, why should they be forced to have it on behalf of a developer that might not even know it exists?
Also, it’s 1000x more convenient to report through the leaderboard since you don’t have to scroll through names for an hour. (and yes, I understand some games have that disabled but the same thing applies to the ESC server list)
The one in the report menu is just worse IMO, maybe it’s the fact that it lacks avatars or alphabetical sorting (which should totally be added to all of these menus), or that it’s too compressed for me to find the name I’m searching for, I never use it.
You seem to have missed the part of my reply that mentioned a world where no other players are present, and the report option is locked to “Experience” and has nothing to do with reporting a player, I believe this is important as well.
I will agree that the escape menu player list is a lot easier to navigate and visually more comfortable than the list provided by the report menu. Perhaps only providing such a list (and a Experience option) in the report menu would be better UX to select from before being provided the other input fields (as the other input fields are meaningless anyway without selecting who/what to report).
And this might just be my opinion, but adding an additional setting in the Roblox in-experience settings menu just to let the player hide the chat button sounds kinda over the top. Roblox also tries to be a social focused platform, where engagement with other players is encouraged, so unless the developer has intentionally disabled it I see no reason for Roblox to want this button hidden.
And a developer not being aware of a chat feature in Roblox or anything about the default user interface is a poor excuse, it really doesn’t take much to notice that ui, or do the littlest of research and learn about such things. The default ui specifically the chat is directly mentioned in countless beginner guides on the Creator Hub.
I do not disagree with the usage of declarative UI frameworks in other cases, I use them myself. But the usage of Roact or React-lua is bizarre in this situation. This UI is very static (compared to UIs for games that I use declarative frameworks for) and could be handled a lot better using different approaches.
But you should, Roblox isn’t the web. They do not work the same, its like putting the circle block in the square hole just because it fits, it doesn’t make it the best.
Frameworks like Fusion and Vide provide much better solutions specific to Roblox. (Fusions ultimate goal is to be Luau specific)
I am not saying Roblox needs to use these library’s, but that the money they spend on React-lua could be better placed in a custom framework that isn’t a port with many performance issues.
And developers used RbxGui as well, but RbxGui acts more as a component library then it does a UI library. If you look back at the old PlayerList or TopBar just as an example, they don’t use RbxGui. (At least the copies I have)
(If you click .
or go to github.dev
and Ctrl+Shift+F and search for RbxGui, the only use of it is a variable pointing to a ScreenGui, no usage of the actual module)
Chat wouldn’t be disabled (we have a setting for that), only the button would. The button would appear again when you open the ESC menu so chat is possible to disable.
This could also be replaced with “collapse chat to hamburger menu” to make it possible to easily enable/disable without extra button clutter.
I’m talking about stuff like self-view, why can only the developer disable it? It’s so easy to forget about. Same for other features that aren’t useful to a game yet still show up in the hamburger menu.
Name | Reason |
---|---|
Self View | Very situational, can be used to clip through walls, you need the camera for it to really be useful. |
Music | I don’t really have to explain this, people have already said it before me so probably just scroll up. Again, situational. |
Leaderboard | Keybind on PC. |
Reset | Keybind on PC. |
Inventory | Keybind on PC; Some games have no tools. |
Emotes | Keybind on PC; Doesn’t work in R6. |
Captures | Keybind on PC; Place in the ESC menu. |
For everything that is useless to PC players, developers aren’t gonna disable it for people using keyboard input, they’re honestly just gonna let the player ignore it. This creates clutter when you actually want to use the hamburger menu, e.g. to report. And yes, it’s very easy to forget to disable something like self-view.
I see so many R6 games with the emote menu in there, it’s easy for developers to forget about disabling. (this will also cause accidental “.” clicks to stop movement and open the emote wheel)
These are things that I believe players should 100% be able to disable themself. Some aren’t useful in any scenarios, some players may not use emotes etc.