[v3!] TopbarPlus v3.0.0 | Construct intuitive topbar icons; customise them with themes, dropdowns, captions, labels and much more

I’d still strongly recommend the former solutions although at a glance you should be fine in terms of performance!

You can find a list of all themes here (we currently only have BlueGradient and Default) although you should find making your own themes significantly easier with v2.

9 Likes

This is amazing! I will be using this in my games.

6 Likes

Another question that has arisen (possibly I will have more) can it be made that there is more than one visible gui?

4 Likes

You can bind multiple gui instances to an icon using icon:bindToggleItem, e.g.

local localPlayer = game:GetService("Players").LocalPlayer
local playerGui = localPlayer.PlayerGui
local frames = playerGui.ScreenGui

Icon.new()
    :bindToggleItem(frames.Frame1)
    :bindToggleItem(frames.Frame2)
9 Likes

But in separate icons is not possible?

5 Likes

Set an icons deselectWhenOtherIconSelected property to false to achieve this.

This can be done two ways (the latter is useful for when chaining methods):

local icon = Icon.new()
icon.deselectWhenOtherIconSelected = false

or (with TopbarPlus v2.3.0)

Icon.new()
    :setProperty("deselectWhenOtherIconSelected", false)
13 Likes

The new properties function works perfectly
Thanks!

4 Likes

This is amazing, thank you for making this!

4 Likes

When I remove the playerlist (for a custom one) the icons overlap
Some kind of solution for this?

5 Likes

Overlap with your custom playerlist or other icons? Can you send images and/or a stripped down place file of the only the icons and bug?

7 Likes

It was fixed only mysteriously, I think I was using the old module or there was a script that prevented the playerlist.

2 Likes

This is great! I had no idea there was a new release until I looked back at the original documentation. It was gone! So hyped to use this.

2 Likes

How to give this credit correctly?

Right now I put it like this in a credits section:


And what about linking this link, do I have to put it in the game or in the description or in the creation group?
:sweat_smile: :ticket:

2 Likes

That’s absolutely fine! Linking is not so easy in-game so don’t worry about that

9 Likes

Wow, this is really good. Just one issue, what if I wanted to tween the binded Ui? Because, so far, I’ve only seen the option to make something Visible.

3 Likes

Instead of using the :bindToggleItem method you can utilise the icon.deselected and icon.selected events:

icon.deselected:Connect(function()
    -- fade frame in using TweenService 
end)

icon.selected:Connect(function()
    -- fade frame out using TweenService 
end)
11 Likes

I’ve been waiting for this to come out. Pretty neat stuff. Is there any way to select or deselect an icon without firing the select/deselect/toggle events?

3 Likes

Without forking the code not currently. What would be your use case for this?

4 Likes

I’m a fan of this, it’s so well integrated you can’t tell that it’s been added externally!

Looks like it was built into the game haha.

6 Likes

I’d like to keep the state of a menu externally and allow the menu to control the state. For example, I make a top bar icon that toggles the Store menu, but the Store gui also has an X to close it; so the top bar icon needs to be put in its “deselected” state when a user hits the X, but I don’t want to execute the gui closing code twice.
Honestly, it’s not a huge use case, and it’s easy enough to work around. I was just wondering if it already had that functionality so I could make my code a little prettier :stuck_out_tongue:

3 Likes