Editable CoreGUI/CoreUI Backpack Module

Roblox’s core backpack UI, this wretched thing has been out of reach for Roblox developers to easily edit and make their own changes to for WAY too long. There’s just so many issues that we find with it and yet we cannot fix them because you either can’t find a copy of it or can’t get it to function. While working on “Beat the Robloxian” there was a huge issue where the tool order of players wouldn’t save on respawns which made it time consuming to reorganize your hot bar every time you would die. It was especially a nightmare for players on console stuck with the slow controller UI navigation.

I then figured enough is enough and dug out what was left of the core backpack UI scripts left from 2018 where Roblox last open sourced them and managed to get it functioning as a module. It’s fairly easy to set up you just require the module, change existing lines of your scripts toggling the core backpack to toggle the ScreenGui created for it instead. Only until now I decided to make it public as I can’t seem to find a public script of the core backpack just to make it more accessible for others.

The ScreenGui is parented to the player’s GUI upon the module being required and is named “BackpackGUI”, toggling its enabled property will act similarly to how toggling the actual core backpack UI works.

The whole point of this is module is so that you’re actually able to modify and make any changes you need to with it to satisfy your own needs for it. I’ve added any new features Roblox added to the core UI to ensure it’s up to date with the current one. I didn’t just stop there! I’ve included a few quality-of-life improvements to go along it:

  1. I’ve implemented a toggle in which you can have it remember the order of your tools whenever you respawn. This may be buggy depending on how your game gives out tools to players on spawns which you can disable if it doesn’t work correctly.

  2. Players that are on a phone will now get 10 hot bar slots and no longer have to deal with the dread of being locked to a measly amount of 3. The hot bar will resize itself in order to fit into the player’s screen.

  3. I’ve improved some of the controller navigation for it and improved the inputs for it. However, be warned that it is not designed with the virtual cursor in mind and made to be used with the classic selection.

  4. It’s much easier to open the backpack whenever you’re using a controller or playing with touch controls. You press D-Pad up to toggle the inventory on a controller which the binding can be changed to your liking. Mobile users press and hold the hot bar up to open it and press the slider on top of the UI to close it. Just make sure you list these controls to players as they’ll be confused on why the inventory is missing from Roblox’s UI.

  5. There is a folder under the module called “UIEffects” which you can add any UI effects such as UICorner, UIGradient, UIStroke, and more! These effects will automatically be applied to the UI whenever it’s created.

  6. You can now drop tools with both controller and touch controls. You can even set up your own binds for dropping tools! Just note that you cannot remove the backspace binding as it has been hard coded. Pressing D-Pad down will drop your currently equipped tool with a controller while with touch controls you drag tools outside of the backpack UI.

And that’s mostly all there is to cover? I tried keeping changes minimal unless if it was adding missing features or to improve an existing thing so it shouldn’t be too different from the original counterpart. There’s no need to credit this at all as I don’t really feel it’s deserved as it didn’t take a whole lot for me to get this functioning.

You can get the module here on the creator store: CoreUI Backpack Module (QOL Improvements Included) - Creator Store (roblox.com)

this is one of my first posts so i’m honestly a bit nervous about this!!
other than that i hope this helps :v

7 Likes

Very nice, I like the way it’s done.

1 Like

just now added tool dropping support for controller and mobile :v

Hi, nice!

Can you make an editable game with the latest features?

Can there be slot limiting , where say, you only have a max of 4 slots, and NOTHING goes overflow to the backpack?

Can the backpack be turned off?

Can you use the mouse scroll wheel to (if the camera zoom is locked in game) scroll through and activate different tool slots? Meaning if you have tool slot 1 active, and use the scroll mouse wheel, you can activate tool 2 , or 3?

Can you have drag and drop into the game workspace, to drop a tool and get rid of it?

Can it have stackable weapons of the same kind? Like 3 grenades are in slot 1, if you pick up another you have 4 in slot 1?

Can it have stackable max limits, like 4 , then the 5th goes to the next open slot?

Can you change the order of a tool, like from slot 1 to slot 4 via left mouse drag icon form 1 to 4?

What devices do you plan on supporting with this?

Thanks, I look forward to checking this out.

1 Like

1A. possibly whenever i have the extra time to?? i’ll have an update on it whenever i get around to it

2A. the backpack can be turned off by disabling the gui for it “BackpackGUI” and it acts similarly to disabling the core backpack ui

3A. as of right now no, however you can probably implement it by adding scroll inputs where buttonl1 and buttonr2 are handled

4A. yes you can drag tools outside of the backpack to drop them which is a toggle for pc inputs and always enabled for mobile

5A & 6A. the module doesn’t support stacking tools as it’s made to act almost exactly like the actual core backpack ui, it was made so you can add more advanced features or make some minor adjustments to it

7A. yes, dragging the tool icons will change the order exactly like the actual core backpack ui

8A. my goal is to make it work on all devices (except vr) and improve the general ui experience for the other devices such as controller and mobile

i hope that answers all of your questions and for features that were missing that you’ve asked about i could probably implement them into the module as toggles :v