Backpack closes if player clicks outside of the backpack window

This started happening today. If a player clicks anywhere outside of the backpack window it closes immediately. This includes when a tool within the backpack is activated by clicking the tool then clicking outside the backpack window. This is not desirable as a player may want to use multiple tools stored in their backpack without having to reopen it (many communities rely on being able to use more than 9 tools quickly). I have been informed that this has broken the play style of many players who are members of the Roblox virtual dance community and the virtual cheer community.

In this gif I selected a dance move from my backpack then clicked outside the window to activate it. The backpack immediately closed. If I wanted to use another tool I would have to reopen the backpack.

This happens 100% of the time for me, but I have heard reports that some players do not have this issue.

An additional note: The tool remains active even when the backpack is closed, so the player can continue to activate a tool they cannot see.

34 Likes

This seems like good UX to me normally (closing the popup when clicking outside of it). Not sure what the best solution here would be. I think more often than not, people are picking 1 tool and are then wanting to use it, so the current behavior would make the most sense for that. The tool should definitely pop up on the toolbar somewhere though if selected.

12 Likes

I agree, it is what I would have expected the backpack to do (I wasn’t even aware you could activate tools from within the backpack until a few months ago), but this is directly effecting a very large community of young people who really don’t have the experience or resources to create an alternative.
I can’t find anything in the change logs to suggest this was intentional (I searched back 20 updates), but perhaps I’m just blind.

8 Likes

This was an intentional change but we didn’t think of this use case and will probably take another look into this behaviour and see how it feels in games like this. Can you post a link to the game in gif?

10 Likes

Hello, I do not mean to intrude on the topic, but I can provide the link the game Mimi_dev was in.

https://www.roblox.com/games/3245982754/RCO-Main-Gym

4 Likes

It’s not due to too many items - this will happen whenever clicking a move specifically from the backpack. The point both Mimi_Dev, and another post by @Dev_ek are trying to make, is that this new feature can be debilitating to a ton of players within these communities. As Dev_ek suggested, perhaps a toggle for this feature so that the best of both worlds can be achieved?

9 Likes

We are looking into this issue. Also - nice hat!

11 Likes

On behalf of all these players, thank you so much for reconsidering :smile: It means a lot for the hundreds of thousands of players that are in the dance/gymnastics/cheer communities, and I hope a compromise can be reached. We’ll be crossing our fingers! :wink:

8 Likes

With the release of the new topbar yesterday, I think I know why this happens. Basicly they moved the backpack, emotes, and leaderboard button into a new menu that is near the top right corner of the screen. Before, you had to open/close the backpack by just pressing one button. Now, you have to press one button, and another button to open/close the backpack because of this new menu, which can be very annoying. So I bet they made it to where when you click outside the backpack window it closes so you dont have to click 2 buttons just to close it.
In other words, I think they may be responsible for this bug, and may have made it a permanent feature so its easier to close the backpack. Not sure if this is indeed true, but im guessing it might be.

4 Likes

The backpack API contains no features that tell you when or whether the backpack is open or not. I would love if an event was fired for whenever backpacks are opened or closed, or at least a boolean property that’s readily available.

Currently in my game, pressing backquote is not enough to make the backpack accessible when the Player’s CameraMode is set to LockFirstPerson. I need to place a transparent GUI with modal set to true somewhere. While this makes the inventory accessible, reliably setting the UI’s modal property back to false becomes impossible.

I’ve tried checking for clicks in various ways (including seeing if gameProcessedEvent is true). Just via userinput as well as frames. But there’s no way to easily guess the scale of the actual backpack UI, UI Constraints are also of no help here. Estimating the exact correlation between Size and Viewport is extremely difficult. I’ve tried covering the surrounding area with transparent frames so they can capture any mouse clicks. However that does not work.

The only way I’d see this working is if I made a function that scales + positions UI based off the Camera.ViewportSize on some kind of loop, and then detect if any input resides outside of said area. I think this approach is pretty far fetched, especially since you’d have to guess how the backpack UI size is correlated with the Window/Camera Viewport size.

None of these fixes are a guaranteed fix.

An event for when the backpack is closed would be appreciated addition to the existing API.

EDIT:
apparently you can find all of the coregui by setting this toggle to true. However this is still inaccessible by code during runtime.
image

the UI is found under
game.RobloxGui.Backpack
I couldnt easily find any size correlation because it’s
image

After pasting the legacy UI into a blank file, I managed to decently estimate how the scaling works around the borders.

I guess I’ll just have to capture mouse input with this method, since there’s no better options.

EDIT
This approach does not work either because the backpack relies on being closed when clicking on no UI objects at all. no UI objects must be capturing input.

This does “solve” my issue to some degree, although I’d argue that I’m worsening UX by sinking input when it comes to closing this.

4 Likes