As a Roblox developer, it is currently too hard to create an immersive experience with the current new CoreGui “upgrade”. There is a disastrous count of issues with this new UI which I will try to briefly mention in this feature request:
Goals?
First of all, the “goals” of this UI appear to have been missed entirely! With-in the announcement post for this change we receive the following reason for this change in the UI:
However, this goal has seemingly been missed entirely for many experiences! The new CoreGui takes up even more space than the previous UI on experiences which use the most basic-form of the CoreGui, let’s compare both UIs in their most simplistic form:
OLD UI:
NEW UI:
At a glance, the first CoreGui is obviously more “minimalistic” than the second CoreGui as it uses less buttons to match the exact same purpose. Therefore it’s safe to assume that being minimalistic at a glance didn’t end up being a successful goal (at least to developers who disable most of the CoreGui). So what are it’s “benefits” to those developers? The other reasons that were provided is that “it’s easy to iterate on and add new features”, and that its “easier to use”.
First, I very well disagree that this is “easier to use”, functionality-wise nothing has changed despite having more buttons. If anything, it has been made harder to use as the chat button is now on the opposite side of the screen to chat. I know the point that was brought up here is that players will no longer need to move their finger from the movement thumb stick on mobile to enable chat, however in order to message in chat they still need to do so! Why can’t this respect ChatWindowConfiguration.HorizontalAlignment
to allow developers to move the icon and make it easier for players to chat on mobile instead of Roblox doing so for us?
Useless buttons?
Okay, so there are extra buttons on the top-bar, so what- As long as these buttons have a decent purpose that makes sense, this isn’t as bad of an issue. Let’s take a look at the right icon’s selection options:
This experience has all Enum.CoreGuiType
options disabled
Chat is still displayed as an option (which is a bug) and other than that, the only selectable option is the report button? This is a waste of space! I understand the importance of surfacing the report menu to players however this is not the place to do this! Never in my life have I ever felt the need to report an experience so fast to the point that it needs a dedicated option in right-hand side menu, this just detracts from developer usability of this side of the screen. That is all this does!
Nothing was fixed?
There are many genuine UX issues in the CoreGui that would have been great to address with this CoreGui update although it seems as if none of them were addressed! Here are a few examples:
Mobile is still visually permitted to reset even if it is disabled via SetCore
“Set By Developer” text for shift-lock is misaligned in offset
“Help” menu is not helpful for most experiences, even if Roblox knows it won’t be (dev has overridden the DevComputerMovementMode
). Albeit this one is more of a feature request than a bug. It does however affect UX which is the reason for this CoreGui “upgrade”.
And the list goes on, each of these have their own bug reports / feature requests (and if you support these, please support their connected report / request instead) yet it’s still sad to see that such a major CoreGui upgrade would not attempt to implement these features / fix these bugs that the community have voiced.
MRU is pointless?
Even just purely from a player perspective, the MRU is confusing. Originally I believed it to simply be a way to collapse all options except “Chat” under a dropdown until I later found out otherwise. There is no reason why the MRU needs to be a required feature of the CoreGui and should have been something provided as an option to developers!
Backwards compatibility
There is no backwards compatibility provided for this CoreGui upgrade which makes sense since creating a mix-match UI for older experiences would create a poor user-experience in where users must learn to use two CoreGuis. However, the problematic thing about this CoreGui rather than any of the other CoreGui upgrades is that it’s game-breaking, elements of UI that are under CoreGui elements (such as the new right-hand icon) are no longer interactable with, possibly ruining experiences.
Even if experiences adapt using the new API to ensure their elements are always visible and active; such experiences will have poor UX if they do not upgrade their buttons to match the same artistic-style of the now required right-hand button, etc. Roblox appears to have tried to dampen the concerns over this issue by stating that “70% of the top 100 experiences are already using the ‘…’ button” giving the impression that most experiences and UX will be unaffected by the change.
However I believe this is an unfair comparison since it appears as if most of the top experiences are “social experiences” which obviously benefit from such button, the new right-hand button is also different in style and size to the current “…” button which will still create a learning curve for players coming across it on their first-time. Many other popular experiences (such as Doors) use the top-right menu to display stats, etc. These experiences now have to adapt to the new sizing and API changes to work with the new CoreGui.
Developer control
There is zero developer control given with this new UI. This is problematic as it requires developers such as myself to edit my own experiences to match the new style of the CoreGui. The CoreGui needs to have some level of developer control if we are to truly create “immersive experiences”. UX improvements to players should be of the developer’s volition and not be forced by Roblox as it may interfere with the artistic intent of the developer. If this was focussed on rather than a pointless “UI upgrade” that hurts most experiences, the development community would be better equipped to integrate their experiences with the CoreGui rather than working around the CoreGui, increasing immersion drastically!
If Roblox is able to address this issue, it would improve my development experience because I would no longer have to edit my entire experience to simply match an “upgrade” that Roblox thought was important. As a developer, I should never be required to do so, especially when we have very little control over the CoreGui itself!