My honest opinion over this new topbar: it is really good but lacks customizability. (like everything else you guys usually drop, really…)
For that, I decided to make small topics, each with what I feel like the approaches could’ve been done as, or how the current additions could be improved.
Design of the Experience Controls:
I LOVE the new modernized look of the Experience Controls, but it is such a let-down we can’t modify their look in-game incase we don’t want that “modern vibe”.
It would be really great if we could edit basic properties in them, such as corner size, transparency, and maybe even size: yes, actually be allowed to scale them as we wish. (with set limitations, of course, we don’t want to go crazy)
For this, it would be nice if we had new parameters for StarterGui.SetCore
for the appearance of the MenuIcon
and the UnibarMenu
, with access to basic properties such as:
- BackgroundColor
- Changes the background color of either the Menu button or the Unibar menu.
- ImageColor
- Changes the color of either the Roblox icon or the Unibar icon.
- BackgroundTransparency
- Changes the transparency of either the Menu button or the Unibar menu. (range of
0 <-> 1
)
- ImageTransparency
- Changes the transparency of either the Roblox icon or the Unibar icon. (range of
0 <-> 0.5
)
- BackgroundSize
- Changes the size of either the Menu button or the Unibar menu. (range of
22 <-> 66
)
- ImageSize
- Changes the size of either the Roblox icon or the Unibar icon. (scalar range of
0.25 <-> 0.75
)
- HighlightColor
- Changes the color of the hover highlight of either the Menu button or the Unibar buttons.
- CornerSize
- Changes the size of the corner size of either the Menu button or the Unibar menu. (scalar range of
0 <-> 1
)
(StarterGui:SetCore("TopbarAppearance", {**properties**})
| StarterGui:SetCore("UnibarAppearance", {**properties**})
)
With those properties available for us, developers, it makes it easier to adapt the new Experience Controls to look how we wish and want them to do.
UI padding of the Experience Controls:
The current padding spacing are, in my opinion, really good and well enough for my purposes, but they could be expanded on a little more, especially with the introduction of padding customizations.
Say you want something more compact in terms of size because this feels way too cluttered. Well, that should be possible with the addition of new StarterGui.SetCore
controls, and in this case, it could be split properties, one for the MenuIcon
and another for the UnibarMenu
.
It would be nice if we were allowed to directly manipulate the padding however we wish, with still some set limitations, such as not being allowed to go past half of the screen.
(StarterGui:SetCore("TopbarPadding", UDim2)
| StarterGui:SetCore("UnibarPadding", UDim2)
)
Small changes like this would be of great use to be able to manipulate the new Experience Controls as we wish. It’s important we manage to make them fit with the rest of our intended visuals.
Right-to-left change done to the Unibar:
I appreciate that you guys took opinions from the thousands of developers working on Roblox, but I feel like this change might have affected the other half that was fine with the controls being to the right of the screen instead of the left of it.
This made it so the right side seems… way lackluster than it should be, with the added nuisance of the left side now having two item elements, adding to the nuisance of tailoring GUIs to work around them.
I feel like a good approach for this would be introducing a StarterGui.SetCore
parameter, something like “UnibarRight
”, which when set as true
should do exactly what it implies: sets the Unibar to be on the right of the screen, instead of the left.
(StarterCore:SetCore("UnibarRight", true)
)
This would be very useful for all developers that already worked on GUIs tailored to look superb with the new Experience Controls and would still give an opportunity to the other half which wants to work with these on the left side.
Unable to entirely disable the Unibar:
As of right now, it is impossible to disable the Unibar due to objects like the microphone, self-view and the report button. As useless as it may seem to outright disable the Unibar, sometimes it may be very useful in being able to do so, especially if your game requires that extra space to take advantage of.
It’d be very nice if the Unibar itself was a Enum.CoreGuiType
value, like Enum.CoreGuiType.Unibar
, because then it’d be easier to just simply disable it if desired by the developer.
(StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.Unibar, false)
)
Not only that looks way better, but still allows for other basic Roblox CoreGUIs to still be displayed onscreen, without being disabled in favour of reducing the Unibar’s size.
And if there’s a concern about other GUIs such as the chat, microphone, self-view, etc… then I also suggest making it so when the Unibar is disabled, it instead renders inside of the ESC menu. (like how it currently does render inside of it)
It would be very appreciated if an in-depth read was taken for everything that was said in this reply.