UIShelf v3 - Create fast and efficient custom topbar icons

What is UIShelf?

UIShelf is a module. This module creates custom topbar icons on the “top shelf” of your screen. With lots of easy to use functions


API Reference

new():

Does not take self

args: 0
desc: Constructs an empty button waiting for placement.


bindIconEvent():

Takes self

args: 2
desc: Binds an event to an icon which it is called on.


setRight() and setLeft():

Takes self

args: 0
desc: Sets icon location to right or left. Icon order is based on SetOrder and its argument, order : number


getTopbarState() and setTopbarState:

Takes self

args: 2
desc: Binds an event to an icon which it is called on.


Screenshots & Videos


Should I use this over Topbar Plus v2?

If you want to, I do think that the Topbar Plus is better for more features, but in my case, its a bit more simpler for the average user.


Example Script:

local UIShelf = require(script.Parent:WaitForChild("UIShelf"))

UIShelf:ConstructButton("MyButton", 123, 44)
UIShelf.OnMouse1Click("MyButton", function()

end)

Think you want to use it in your project? No credit to me required!
Take the script for completely free:

I am open to any constructive criticism
I will ignore anyone who asks about a question already answered in this post.

Thanks.


Quick Poll(s)

Take these poll(s) to see how I can improve this!

  • I am going to use it
  • I would use it, but I will not
  • I am not going to use this
  • This is terrible

0 voters

  • 1/10
  • 2/10
  • 3/10
  • 4/10
  • 5/10
  • 6/10
  • 7/10
  • 8/10
  • 9/10
  • 10/10

0 voters

Canary Product Feedback Form


REINSTALL AFTER UPDATES:

3/4/22:
Added ChatDisabledOffset property, now icons should work with chat disabled.

3/14/22:
Fixed StateOverlay from being too large.

4/10/22:
Fixed StateOverlay from being too small.
Added MouseButton1Up function to the module to easily detect when pressed.

4/16/22:
Added tons of new functions
Fixed formatting issues
Updated all scripts to be more efficient

4/26/22:
Added tons of new functions

4/28/22:
Added the notification feature.
Find functions in API reference.

4/29/22:
Fixed up the code to prevent it from failing.
Changed a few function names.
Each button is more organized and efficient.
Removed ChatDisabledOffset in the module, ChatDisabledOffset is now auto set. Use the function ToggleChatDisabledOffset to get this enabled. (kind of)

5/12/22:
Added new function type, State functions.
Added more folders for better organization
Gave the model a thumbnail

GitHub Repo: GitHub - canaryprojects/module-library: Modules

Big thanks to @ForeverHD

Thank you for inspiring me to make this module.
Obviously if you don’t want to use my resource (i bet you won’t) then go checkout TopbarPlus v2

18 Likes

I noticed that this looks very similar to @ForeverHD 's model TopbarPlus.

Why should we use yours over his?

2 Likes

Ah yes, I forgot to add a section about this, thank you for reminding me.

Agreed.

From viewing the source code, it doesn’t seem like this offers any added functionality than TopbarPlus, which contains a variety of extra features.

3 Likes

Very bold claim.

Are you saying that TopbarPlus doesn’t count as “good quality scripts”? ._.

4 Likes

Sometimes you don’t want a bunch of extra features if you won’t use them. Not that it’s bad to have that functionality available, but some people just prefer to keep it simple.

4 Likes

Are you able to create some documentation for users who may not understand this?

Such as an example script for the Icons.

It may not be as simple as you think.

2 Likes

Yes, I was going to add this. a

1 Like

Looks cool maybe i will use it in my new game, (also is any one else having problems with topbar plus, because it give me errors with the lineing the ui)

1 Like

UPDATE

3/14/22: Fixed StateOverlay from being too large.

I can help you fix the error. PM me and I can help you fix it :slight_smile:

Looks pretty clean! Good job mate!

1 Like

Thanks! I appreciate your feedback. I’m glad you like my product.

1 Like

UPDATE

4/10/22:
Fixed StateOverlay from being too small.
Added MouseButton1Up function to the module to easily detect when pressed.

UPDATE

4/16/22:
Added tons of new functions
Fixed formatting issues
Updated all scripts to be more efficient

UPDATE

4/26/22:
Added tons of new functions

UPDATE

4/28/22:
Added the notification feature.
Find functions in API reference.

UPDATE

4/29/22:
Fixed up the code to prevent it from failing.
Changed a few function names.
Each button is more organized and efficient.
Removed ChatDisabledOffset in the module, ChatDisabledOffset is now auto set. Get the legacy version of the module to use ChatDisabledOffset. (Not recommended)

UPDATE

5/12/22:
Added new function type, State functions.
Added more folders for better organization
Gave the model a thumbnail

UPDATE

x/x/x:

I am re-writing the entire module and all of the other scripts for the best experience. Should be finished by Monday the earliest, Friday the latest.

Thanks for using UIShelf! I am glad I can create a resource people love to use!