UIShelf v3.3.2 - Easily Mimic the CoreGui

I urge you to follow this topic, why? This is to know when a new update is available.


Docs

Documentation / API Reference - Github


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


Screenshots & Videos


Should I use this over Topbar Plus v2?

Obviously this is going to be your decision, but here are some pros and cons of UIShelf:

Pros:

  • Button selection is the same exact thing as buttons in CoreGui, as TopbarPlus shows a gradient when selected.

  • It’s a bit easier to understand; less complicated features.

  • If you have script auto-complete enabled, you can view the functions and make the process of creating a button faster, in TopbarPlus the functions are not displayed in the auto-complete menu. (more of a UX thing)

  • The notifications are realistic to the CoreGui buttons.

  • Instead of just using assetId’s, you can use other image paths, for example:

example:SetImage("rbxasset://textures/ui/SearchIcon.png")

Cons:

  • Less features, and I am willing to admit it
  • You can’t have dropdowns
  • You can’t create labels on buttons

Example Script:

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

local NewButton = UIShelf.new()
NewButton:setImage("rbxasset://textures/ui/SearchIcon.png")
NewButton:setLeft()
NewButton:setOrder(2)
NewButton:setName("SearchIcon")
NewButton:bindIconEvent("MouseClick", function()
    print(string.format("%s was clicked!", NewButton:returnName()))
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


Legacy Updates

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

19 Likes

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

Why should we use yours over his?

2 Likes

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

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

5/15/22:

As said before, I was re-writing the entire module from the ground up. This only took about a day, but now i’m finished!

Say Hello to UIShelf 3

Everything is so much easier to understand and use! Try it out if you’re interested.
Even more faster, and efficient than ever before!

What has changed?:

Removal of custom data types, they would be too hard to read v3
Removal of state setting, pretty much uselss as you could now use the bindIconEvent function.
Overall just smoothed out the module, it now uses OOP.

If you do not like this version, you can always grab the legacy model I have left for you to make everyone happy.

(Post will be edited later with newer documentation.)

2 Likes

UPDATE

5/22/22:
Added new functions
Fixed bugs that would happen with setOrder()
You can now leave some arguments blank to have them default

UPDATE

5/25/22:
Fixed bugs (sorry no features)