Grove -- Open-sourced, fully customizable Backpack System

Grove v0.9.5

| Get it on the Creator Store |

Grove is a natural, open-source alternative to Roblox’s default backpack system. Designed with simplicity and flexibility in mind, Grove offers an organic and intuitive way to customize player’s inventories while staying easy to integrate into any game. Setup takes a heartbeat — just drag and drop the included Hotbar screen gui into StarterGui, and you’re ready to go. Grove is lightweight, fully customizable, and built to blend seamlessly with your game’s world and aesthetic.

(Note: Features and Hierarchy are continously being updated to make installation and customizibility easier so the actual hierarchy or UI may differ upon first installation compared to the one from the images)


:information_source: Features

(:warning: Note: There maybe one or more dropdowns within the dropdown which explains how to set up the feature. Please read it to avoid confusion early on)

Customize the whole backpack!

Expand to view full feature

Fully customize the look of everything, including the buttons, search bar, and backpack frame. Your imagination is your limit!

Swap Replace!

Expand to view full feature

Drag an item from any slot and drop it onto any other to swap them

Swap Replace

Automatic Backpack resizing!

Expand to view full feature

When lots of item start piling up in your backpack, it automatically turns itself from a static frame into a scrolling frame

Automatic Resizing

Filter items by type!

Expand to view full feature

Now you can add custom filter buttons to let the player sort an item of only that type.

Filter items by their type

Here's how to set it up:
  1. Under the “Side Buttons” frame, you can add an image button and give it any name you like. Make sure the added buttons have an attribute with the name FilterType and name it to your filter type’s name is. It does not need to match with your button’s name.


  2. However, you do need to make sure the tools need to have an attribute of name Type set to one of the filter types you created for the button

  3. If you want to change the names of the attributes from either FilterType (for the buttons) to something else or Type (for the tools) to something else, then simply change the constants to your liking

Tooltip hover!

Expand to view full feature

Tooltip Hover

Customize the tooltip frame however you like by simply editting the HoverTemplate item button inside the CustomHotbar script!

Drag and Drop tool from hotbar!

Expand to view full feature

Drag And Drop -- Supports PC only at the moment

Make sure the attribute DragDropTool is turned on.


:information_source: How to implement

  1. Drag and drop “Hotbar” into StarterGui
  2. Drag and drop “Modules” folder into Replicated Storage
  3. Drag and drop the server script from “ServerScripts” folder into ServerScriptService
  4. You are good to go! :confetti_ball::tada:

:information_source: Updates

  • [v0.5] - Base version
  • [v0.7] - Added filter Items feature and also some missing modules to the download file
  • [v0.9] - Added tooltip hover, drag and drop tool from hotbar, controller hotbar tool cycling by LB and RB
  • [v0.9.3] - Fixed hotbar size, added custom text scaling attributes to fit various devices, using BridgetNet2 library to fire remote events + more! View full list here
  • [v0.9.5] - Fixed a lot of issues that did not enable users to just drag and drop the items into their respective game service category. View full list here

:information_source: Downloads

Get it on the Creator Store now!

Archives

v0.5 Custom Hotbar by leoprad2006.rbxm (30.1 KB)
v0.7 Custom Hotbar by leoprad2006.rbxm (46.4 KB)
v0.9 Custom Hotbar by leoprad2006.rbxm (55.7 KB)
v0.9.5 Custom Hotbar by leoprad2006.rbxm (89.1 KB)

:information_source: Footnotes

* Customization may require extra attention and so will organizing folders into their respective game services
39 Likes

Hotbar updated to v0.7! Added Filter Items feature and also some missing modules to the download file

Actually amazing! i can imagine alot of devs using this!

2 Likes

Thank you! As mentioned before, I will be continously updating it to make it way easier to edit and add more stuff easily.

1 Like

Hi,

What devices does it support, pc console phone etc

stuff I have asked for in other backpack / hotbar / inventory systems

"

  1. single slot tool stacking , with server verification

  2. Is there a way of doing slot limiting , like if I want only 6 slots, and if I pick up 7th tool, it does NOT go into either of the hotbar or the overflow backpack? mean you can only have a max ever of 6 tools…

  3. If there a away of like above, having if your slots are full, it does not go into the backpack, it does not let you open up the back pack… ( I know we can script it so the ` key does not open up the backpack… but even with that, stuff will flow into the backpack… )…

able to do slot limiting to a max # AND if you try to pick up a next item when it is full , it will not do it. then yes that is good. A lot of other custom hotbar systems that have slot limiting, still allow you to pick up more, which then go into the backpack… I am basically asking if the backpack can be turn off and not open, and nothing ever goes into it…

  1. Can the drag and drop, also be updated, so you can drag a tool out of the hotbar, and DROP it into the game… like the backspace key , but with drag and drop?
    .
    5 tool bar tip, when you go / hover over the tool…

  2. and anti exploit… with stacking and such…

  1. move from slot to slot via mouse scroll wheel, so you can quickly switch tools and they become active

Thanks

2 Likes

Right now, it fully supports PC. You can customize the hotbar slot keybinds to any letter on the keyboard via the script. I will be modularizing key binds for PC and Console later.

Currently, I am working on getting it working for Console players. There is no means of shuffling through the hotbar via the LB and the RB buttons. You can select the item from the hotbar using your Navigation button but that’s it.

I haven’t actually made this part for this custom hotbar on purpose. Some reasons why I have not done this is because the way developers make their player data.

Developers have to individually store player’s data in a table and store what tools they had. The tools vary from genre to genre.

For example in a gun game, you only have 1 gun of each type so it does not make sense to have tool stacking support for this. But for example in other simulator games, you might have more than 1 item of that kind and you’d want tool stacking.

Due to some conflicting results, I have decided not to implement it and leave it onto the developers hands to individually keep track of the tool data in the Player Data, calculate how many tools are of the same kind and then display it (probably on the tool name like: [x2] Potions)

However, if you really want this feature, I can take a look on how to do this because, like I mentioned before, developers structure data differently so it maybe hard to single down to one data field which matches a parameter in the Custom Hotbar script which shows the tool multiplicity.

This is a question of player data validation on the server side. There should be a data field in the player’s data section which counts how many unique tools are in the player’s data and if it is greater than max inventory items, then prevent from picking it up. This custom script of mine is purely for visual (UI) basis.

I suggest you should add player data validation on the server side? I am new to making community resources so please let me know if I am wrong or missing an important feature!

The point of this custom hotbar was just for pure visual basis because other custom backpack systems like Satchel, Neo, etc did not let me directly edit the visuals of it.

Thank you for mentioning this. I will add this to my To-Do list.

Currently work in progress.

I can add this feature to let the user use their scroll wheel to shuffle through the hotbar whilst their cursor is hovering over the hotbar.


Thank you for reading through this and if I am wrong about something, please let me know! I am open to suggestions to help make this community resource as wide and customisable as possible.


perhaps I was not clear. what I was asking for is a toggle in the code to only have the hotbar at the bottom visible, and there is absolutely no backpack. meaning if in my game like lets say a PVP I want a max slots of 6 hotbar slots and that is it. nothing overflows to the backpack, there is no back pack. this is to only allow a player to have a max of 6 tools ever.

if they try to pick up 7th tool it will not pick up at all, because they have the max of 6 already full. (optional nice feature, is if I have say slot 5 a potion clicked on , and I see a gun on the ground, if I pick up the gun, the system drops slot 5 the potion on the ground, and now slot 5 has the gun.) this still keeps a max of only 6 tools. (if that feature was not there , then you would have to manually drop slot 5 so it is free, then if you pick up the gun, it goes to slot 5 since it was free)… so basically , a toggle in the code to fully disable the backpack , and only have a hotbar at the bottom.

(I think Neo has this toggle option)

2 Likes

Absolutely! I will make that a feature as well!

This sounds like a great idea too! I can make that a feature

1 Like

Update!

  1. Changed version numbers to <1.0 because I realized the hotbar is not how I fully wanted it to be.
  2. Added 3 new features! Added tooltip hover , drag and drop tool from hotbar, controller hotbar tool cycling by LB and RB.

Latest version now: v0.9

1 Like

This is really good but whenever I place v0.9 Gui in StarterGui it doesnt work. I get an error in the dev console saying Signals is not a valid member of ReplicatedStorage or something like that.

1 Like

That is a very simple and self-diagnosable error. That error is happening because of this:

You don’t have all these folders in your ReplicatedStorage. Now, these are not mandatory folders that you need to have. I created these folders for the sake of my own game.

You have two 2 things you can do to fix this:

  1. Either delete all those lines from the script which are in the image or
  2. Make some folders in ReplicatedStorage like-a-so to keep your Remote Events, Functions, and Bindables organized if you want:

Update!

Did some major house-keeping and got it an actual name! Welcome to Grove!
You can now find this asset in Toolbox or the Creator Store.

2 Likes

Update!

Latest version: v0.9.3

  • Switched to using BridgetNet2 library to fire events
  • Fixed hotbar and backpack size. Scale adjusts way better for PC and mobile screens now
  • Added a READ_ME file to help get users started inside the Hotbar GUI
  • Added attributes to dynamically scale text across different devices.

  • Min and Max custom attributes and Responsive tag can be used on ANY text label, across your entire UI.
  • Most of the tags and attributes are reusuable across all parts of your game.
1 Like

I downloaded the latest file (rbxm and creator store), it giving errors. I tried to follow the read me inside the screen gui, still didn’t work

1 Like

Can you please explain your problem in detail with images of your output window and such? And where exactly are you having this problem?

Without this information, I can’t fix your problem.

Is there any reason to use this backpack system over Satchel? Is it easier to use?

1 Like

Definitely. It as easy as Satchel. Just plug and play. Satchel doesn’t allow you to modify the shape or size or add extra decorators to your hotbar or inventory like my system does.

Satchel allows you to only change the colors. My system? Change everything. Even the source script itself.

2 Likes

You can change how satchel looks and functions by going in the code though.

1 Like

That’s where my system is more helpful. No need to dig into any code. Just edit the UI you see.

Now, I am not forcing you into getting this. All the information you want is already written so I don’t understand why you are trying to compare Satchel and this.

If you think Satchel is better, by all means get that.

1 Like

image



It looks like the UIAnimation module is trying to reference a completely wrong GUI object and requiring a package that isnt in utils.

3 Likes