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

v3.0.0 is out! :star2:
Get started using the v3 release post below:
Say hello to v3 :wave: Click here to learn everything you need to know: what’s new, what’s changed and how to get your game transitioned over in a few steps
features example REDUCED

TopbarPlus

:floppy_disk: GitHub | :open_book: Documentation | :ocean: v3 Playground

Construct dynamic and intuitive topbar icons. Enhance the appearance and behaviour of these icons with features such as themes, dropdowns and menus.

TopbarPlus is used by Roblox’s top games and applications including The Strongest Battlegrounds, Toilet Tower Defense and HD Admin.

Icon.new()
	:setImage(shopImageId)
	:setLabel("Shop")

image


:rocket: Features

features example REDUCED


:sparkles: What’s new


:clapper: Get Started


:package: Installation


:bulb: API


:iphone: Tutorial

There is no v3 tutorial… yet! If you’d like to make one to be featured here, pop me a message @ForeverHD :happy3:


Contributors

Big thanks to these people for their contributions and resources:

@Lucke0051 for his many feature ideas and code contributions
@cxmeels for assistance with overflows
@MrAsync for workflow guidance
@grilme99 for their past support
@haash_im for his past support
@hayper1919 for multiple improvements to the repository, help introducing wally, code cleanup, and ongoing help with luau typechecks and luau autocompletes
@iamEvanRBLX for the initial hybrid support for the new topbar
@LordMerc for help with the documentation and general feedback
@ValiantWind for help with testing and feedback
@2jammers for help retrieving values in features such as captions
@medallyon for help setting up Wally
@PeZsmistic for help with clamping objects within screen bounds
@pobammer for the package Janitor
@stravant for the package GoodSignal
@g1mmethemoney for maintaining the TopbarPlus TypeScript Port


License

TopbarPlus v3 uses the Mozilla Public License v2.0. You can use this application free of charge; all you need to do is provide credit back to this resource (such as link to this post) and to open source any significant changes you make to the package.


Final

I won’t be able to respond to all questions however I pinky-promise that I’ll read your comments. I’ve put hundreds of hours into this resource so its always a joy to hear your feedback!

That’s all amigos, enjoy :pineapple:

1519 Likes
Roblox like UI buttons
Kit Hub | "The Better ROBLOX Toolbox"
How do I make a button in
How do I make topbar text?
Fakejeffret Games game Credits
How can i make a gui like this:
SFS | Cafe & Restaurant Order System
TopbarPlus leaderstats
GUI Support, GUI Buttons
How do I get a GUI to look like this?
TopbarPlus v2 | Construct intuitive topbar icons | Question
SimpleTopbar | Easy and Simple top bar system (closed for development)
How would i make icons like this?
Need help making cash display with topbar plus
What is the word for this
Freecam+ | Freecam with mobile support, and more customizability
Customizable FOV Changer
How to create custom chat button?
Baums Admin v.2 - Chat Commands!
CountryBalls RP [In a Huge Way]
ICYMI: Experience controls test starting November 20!
Roblox UI size Troubles. [TOP BAR]
Obby Virtual! [ALPHA]
Do you know how to make a Cash GUI using Topbarplus V2
How to make roblox TopBar GUI’s
Experiencia Plaza de las Navidillas - Información
Roblox's New TopBar GUI Doesn't Match With TopBarPlus Icons
Feedback on new gui system
Best way to make buttons next to chat and menu button
Fps Counter For TopBarPlus
Topgui+ Module not working as expected
Chat with Voice Developer Beta
How to add a UI inside the Topbar UI
Making a “chat” styled button
Topbar+ v1 (deprecated) | Add additional functionality and themes to your topbar
How do i place gui next to hp bar?
SFS | Banking & Economy System
How would I make a GUI that looks like Roblox?
Copy roblox's gui and make another one beside it
How to match the default Roblox CoreGui properties?
99% Fail - Updates and Credit
99% Fail Impossible Obby - Credit
How do you make TopBar?
A Guide to CorePanel
How to add more ui inside the topbar ui
Topbar+ V3 Help showing or not showing
Giver | advanced hand-to system with utility-logs, points system, accept/decline UI, Basic Admin integration and point logs for your café needs!
AudioDeviceInput Issues
How can I add buttons to the TopBar?
How can I add buttons to the TopBar?
PlayerList - Modern playerlist with unique features
How to use PackageLinks for product/asset based items?
Adding button to the expand/collapse menu
How to Produce a Topbar based on TopBarSafeInsets
Camera system inside a topbar
Super Biz Music Player – Simple, Customizable Music Player
TopBarPlus Icon.new() returning nil
CoreGUI Damage Problem
Updated In Experience Controls on Roblox
How to use this type of function with modules?
TopbarPlus v3 Leaderstats Display
Top bar Menu Issues
# | best posts - free/paid | #
Sanguine Fields [BETA] - Credits
Two player knife obby - Credits
PB (Prison Brawl) Information:
How Would i Achieve This
Magic Combat Simulator - Information
Custom CoreGui Buttons
Icon [TopBarPlus] only certanly users
Problem with GUI positioning
What type of system is this? Is this like a topbar system or a custom made system?
How do I change the Roblox Default Hotbar
What could I do to make this UI better?
What could I do to make this UI better?
Why is this simple code not working?
How to I add a GUI to the top of the screen similar to the chat button in roblox?
[EOL] Wolfite's Obby System - Easily make an obby
[VIDEO] Getting Started With TopbarPlus - Add Icons, Dropdowns, Menus and more to your experience
What can I do to fix it? TopBarPlus problem
Oscars Polygon Update Log
Attributions for Experiences
How to disable roblox ingame menu?
How would I go about creating something like this
Obby Virtual! [ALPHA]
Topbar+ v1 (deprecated) | Add additional functionality and themes to your topbar
Any way to make a topbar without using Topbar module
In Game Avatar Editor v2
How do i move gui next to chat box
How do i move gui next to chat box
GUI similar to chat
Obby UI Feedback
In Game Avatar Editor v2
Project Delta Credits
Roblox UI size Troubles. [TOP BAR]
How to do Open a Gui Above Default Roblox UI
Experiencia Información | Grupo Español
Roblox three dots user interface information
How to make a custom roblox gui?
RoPlay - Update Log & Attributions
Custom Topbar Buttons Module - Version 4.0.1
Social Chat | Enhance your experience with spectacular social chat features!
Topbar+ v1 (deprecated) | Add additional functionality and themes to your topbar
Part Painting System!
Bug when making round system (Topbar+ Icons)
How would i make topbar button
Topbar+ v1 (deprecated) | Add additional functionality and themes to your topbar
How to put a text label on the TopBar
How to put a text label on the TopBar
Freecam+ | Freecam with mobile support, and more customizability
How To Make GUI Next to The Chat Icon
PLS PLAY - Update Log & Attributions
How would I be able to stop the color from changing after deselecting?
Need help with creating buttons located on top of the leaderboard
Do you know how to make a sprint button using TopbarPlus V2?
Settings button located next to the chat
Add an extra button
Is there an easier way to do this?
Roblox LUA Module [ASK]
Flintlocks Credits and Attributions
Outside | Credits
How to make buttons like these? - look at screenshot
How can I make such a button next to the chat button?
Identical Gui to CoreGui?
How do I know when the chat button is clicked?
Custom leaderboard?
Shadow Mode: Anonymous Moderating Tool
Shadow Mode: Anonymous Moderating Tool
Roblox Menu Remake | Answering: What can and can't developers do on Roblox?
Topbar+ v1 (deprecated) | Add additional functionality and themes to your topbar
No Title Game - Credits
How can I add a button to the Roblox topbar GUI?
Good Modules to Add
Social Chat v2 | Roblox's #1 Open-Sourced chatting resource
Make ui buttons styled the same as roblox ui style
TopbarPlus Errors
My settings button in UI scales with device's screen
Obby Creator - Credits
Topbar Invite Friends
Anyone know how to add these additional settings in the top hand bar?
Studio Beta for Experience Controls Available Now
BetterChat V3 | Discontinued
ICYMI: Experience controls test starting November 20!
Inconcinnity Credits
TopBarPlus - Error
TopBarPlus multiple buttons bug

Amazing to see a second version to this! Definitely going to try this out!

62 Likes

The new horizontal menus look fantastic! Thank you for keeping this fantastic resource fresh!

50 Likes

I absolutely loved the first version of TopbarPlus and have used it on numerous projects. This second iteration of it seems even more fantastic, can’t wait to use it on my future projects! Keep up the good work.

40 Likes

This is amazing! Such a huge improvement…

32 Likes

Amazing! It’s Looks Very Good! I’m Gonna Try This Out! :wink:

21 Likes

Woah, good job on this! I hope this is seen as much as your other projects. I’m going to very much use this in my own projects.

21 Likes

I LOVE the look of the bars. It really does make it seem like it’s a part of Roblox, which will help make the UI cleaner! I remember when this first was created and man, you’ve added so many things! Nice work!!

22 Likes

Woah! I will use it in my games!

24 Likes

Thank you very much for sharing this.
I would like to make a feature request, if I may.

The ability to Parent buttons and menus to other frames than just the TopBar.
Something like icon:setParent(someFrameOutsideTopbar)

This would make it possible to easily make other GUI like tabs and other kinds of menus outside of just the TopBar.

I’m thinking of things like perhaps an inventory with tabs to sort the items. You would open the inventory with the button on the TopBar but you would also create the tabs that filter the inventory. All in the same system.

21 Likes

This is certainly a consideration (and potentially a new project in itself) although for TopbarPlus we’ll likely remain within it’s original intention to provide game developers with easy-to-add and easy-to-customise topbar icons and software developers and runtime applications (like admin commands) with the ability to seamlessly integrate their own icons into others games.

21 Likes

Hey, I have a dropdown menu in-game and am trying to figure out how to add functions to the individual icons. I wanted to achieve allowing a player to morph themselves when they press an option using HD admin. Could you break it down for me?

11 Likes

You can achieve this with setDropdown combined with bindEvent demonstrated here:

If you’re attempting to morph someone via HD Admin I’d recommend waiting until Nanoblox is released which has a greatly more reliable API. For the time being you could morph people using HumanoidDescriptions

15 Likes

For HD Admin users: it’s now compatible with both v1 and v2 so you’ll no longer experience any issues if you previously attempted to use v2 in your game alongside it

15 Likes

Is there a way to make it work with ResetOnSpawn?

9 Likes

Sure can, simply utilise the new IconController.clearIconOnSpawn(icon) in v2.2.0 (or just re-add the topbarplus model).

e.g. after you’ve constructed all your icons do:

local icons = IconController.getIcons()
for _, icon in pairs(icons) do
	IconController.clearIconOnSpawn(icon)
end
15 Likes

I think I have explained myself wrong, what I want is that when the player reappears the Guis that are with the ResetOnSpawn option activated implemented in the topbarplus, the guis will appear again and that they can be opened from the top bar, as before this version when I put ResetOnSpawn the GUI became unusable.

What I mean by this is: When the player appears, the usable ResetOnSpawn guis reappear, not that it is deleted.

—If you have done what I wanted to tell you then it is a mistake for being a new option or I did something wrong—

10 Likes

This is what the ResetOnSpawn property is for. If you set it to true then your UI objects will be destroyed no matter what.

Assuming your topbaricons are constructed in a location that does persist (such as starterplayerscripts) and you want to bind them to GUIs that reset on spawn, then you could achieve this by listening for game.Players.PlayerAdded in the script that persists, then using icon:bindToggleItem and icon:unbindToggleItem when the desired GUIs are removed/added back in.

The above method is just over complicating things though - you’d honestly be better off fixing whatever problems you have with ResetOnSpawn and setting this property to false.

13 Likes

Well, thanks for your time, I’ll try to see if I can find a way to do what I have in mind.

By the way, I love this project that you are doing, I look forward to many more improvements and other amazing projects from you.:+1::star_struck:

9 Likes

I keep running into this problem when creating a second topbar button: image

No matter what the :setOrder is, they always stack ontop of eachother, my code is:


    local playerGui = player.PlayerGui

    local replicatedStorage = game:GetService("ReplicatedStorage")

    local iconModule = replicatedStorage.Icon

    local Icon = require(iconModule)

    local IconController = require(iconModule.IconController)

    local Themes = require(iconModule.Themes)

    local gui = playerGui:WaitForChild("gameUI")

    local lplayer = game.Players.LocalPlayer

    -- Apply BlueGradient Theme

    IconController.setGameTheme(Themes.BlueGradient)

    if lplayer.UserId == 817819194 then

    local panel = Icon.new()

    :setImage(6384095729, "deselected")

    :setImageYScale(0.7, "deselected")

    :setImage(6384109922, "selected")

    :setLabel("Close Panel", "selected")

    :bindToggleItem(gui.Panel)

    panel:setCaption("StudioOS Panel")

    :setOrder(1)

    panel:notify()

    panel:bindToggleKey(Enum.KeyCode.V)

    else

    print("Player not whitelisted.")

    gui.Panel:Destroy()

    end

    local suggest = Icon.new()

    :setImage(6384752804, "deselected")

    :setImageYScale(0.7, "deselected")

    :setImage(6384109922, "selected")

    :setLabel("Close", "selected")

    :bindToggleItem(gui.Suggest)

    suggest:setCaption("Suggest")

    suggest:bindToggleKey(Enum.KeyCode.C)

    :setOrder(2)
13 Likes