Explorer [Selection and Navigation Beta]

[UPDATE: these features are now hard-launched!]


Hey Developers,

We are excited to announce that we are launching an opt-in beta feature called Selection and Navigation Improvements in Explorer. Starting today, you can expand and collapse all folders in Explorer and bulk-select Explorer search results.

Collapse and Expand All Folders

You can now easily collapse and expand all folders within Explorer or part of Explorer, allowing faster navigation. Expand all subfolders of a folder by holding Shift & click on the caret to the left of the folder (for a folder in an expanded state).

To collapse all subfolders of a folder, hold down Shift & click on the folder caret (for a folder in a collapsed state). You can also expand or collapse all from the Explorer context menu.

Select All Instances in Explorer

You can now easily select all instances in your Explorer by pressing ⌘/CTRL + A.

Selecting Explorer Search Results

After searching in Explorer, you can select only the search results (without the hierarchy items). You can still individually and bulk select all items in a search results view of Explorer.

Here is a breakdown of the new behaviors:

⌘/CTRL + A

  • This selects all search results.

Shift + Select

  • If the first and last instances selected are both search results, Shift + Select will only bulk-select search results. In any other case, Shift + Select will select all instances (including hierarchy items).

Drag Select

  • Bulk selects only search results.

Known Issues

  • You may encounter some lag when selecting a large number of instances.

    • We are actively investigating this issue. Please feel free to provide feedback on scenarios and scales at which you experience performance issues.

New Features! (as of 2/13/23)

We’ve added more navigation functionality to make your Explorer nav experience as efficient as possible.


If you have the following buttons on your keyboard, they are now equipped with the following functionality:



We hope these features make managing your workspace easier and faster!
Please let us know if you have any questions or concerns.

Thank you!

195 Likes

This topic was automatically opened after 10 minutes.

Nice! Only took <3 years, but now people can finally stop using this extremely hacky plugin to accomplish the same: Plugin to Collapse/Expand all folds in Explorer [warning: use at own risk!]

Thanks for working on this!

29 Likes

I’ve been waiting on this one. Awesome addition!

5 Likes

Great changes! However I don’t think that this acknowledges a few of the main concerns when using the current explorer / selection: performance. I don’t think many people dislike the explorer because of lack of these options- don’t get me wrong, they’re great QoL, but I would prefer seeing performance fixes (for example there’s multiple non-visible tris in the selection box, and bulk selection can get super laggy) vs. these QoL improvements.

That being said, these QoL improvements are still great, I just feel that Roblox is misunderstanding the current frustrations with the explorer and selections.

10 Likes

Nice addition! Just the other day I was thinking why something like this hadn’t been added yet.

2 Likes

Performance has never been a significant issue with the explorer? It has always been inability to manage collapsedness of large subtrees, and issues with selection/reselection of deeply nested hierarchies taking multiple seconds (if not minutes) for the UI to catch up with. Both of these were blessedly recently fixed. :pray: What performance issues are you seeing with the explorer?

3 Likes


It took multiple seconds to select a handful of parts.

5 Likes

This is more likely related to the dragger / selection logic, and not the explorer.

3 Likes

Thank you so much for these changes! They have been on my wish list for ages now. Keep up the good work!

2 Likes

This is a remarkable quality of life improvement. For many years, I had numpad “End” binded to the “Select Children” command and used to spam “End” to select all the descendants of an Instance.

@ffrostfall

I wouldn’t make any assumptions that Roblox is misunderstanding performance issues regarding the explorer, they have existed for many years. I suspect Roblox is large enough to the extent where they can have multiple teams having more narrow focuses to improve the platform. Communication is definitely key, though.

@PeZsmistic

I am still experiencing performance issues with large subtrees. Instead of taking a few seconds to select objects, my Roblox studio crashes altogether.

2 Likes

You can look forward to massive performance improvements regarding selection behavior in the upcoming month :smiley:

16 Likes

LeftShift is not respected by the Explorer, to use “Collapse and Expand All Folders”, you need to use RightShift.

Tested using script below to determine input.Keycode

UserInputService = game:GetService("UserInputService")

UserInputService.InputBegan:Connect(function(Input,GPE)

print(Input.KeyCode)

end)

For reference, I am using an ISO type (Nordic) keyboard

5 Likes

This is definetely not just a problem isolated with the selection (Although that system’s sluggish, too.)

Using BoolValues BTW

I am most certain this is because the Studio UI is run as a bult-in Lua plugin. The lack of bulk methods in the engine requires systems like these to meticulously iterate and update the UI which can be a big bottleneck. Also, I think they use Roact.

4 Likes

Quality of life changes are always appreciated. Lovely update.

3 Likes

This is another awesome feature. A couple things I’d like to mention and gather feedback on if possible.

I think the select all instances option should be modified / coupled with the ability to select all children of a given parent based on the selection. So, what I mean by this is, given an instance, by pressing select all, then all of the other instances that share the same parent as the original selection are selected. This would definitely have some great use cases in my opinion.

Lastly, there has been a bug that has existed for quite a while, in which deleting an instance and then undoing the action will cause Studio to go through your entire game hierarchy and expand every single object; this can cause significant lag and cause Studio to even freeze for a while if the game is large enough. Not to mention it’s rather annoying because you then have to collapse everything and re-open what you’re working on.

Is this a known issue and are there any plans to fix it?

1 Like

what do you mean i don’t need to use hacky solutions to multi select what i’m searching??? im all in for this!

2 Likes

This isn’t quite accurate afaik. The explorer window isn’t a plugin GUI and isn’t run by lua (the output isn’t either, and, unless it was changed in the new UI update, the properties widget still isn’t). The toolbox is an example of a plugin GUI, along with the game settings window, and the asset viewer.

It is most likely a built in plugin which iterates over the selection and does something expensive, and if it’s new, it might have to do with this new feature. I bet the selection boxes are Highlight instances. Unfortunately Studio lacks the tools to really dig in to these kinds of performance issues, even the plugin related ones, and Roblox kind of lacks the places to easily report them too. It’s especially hard when the cause can’t really be identified, I’d love to report them if it weren’t for the fact that my reports would be as vague as “Studio lags after a while.”

I have noticed that as Studio expands and more and more big bulky bits of lua code are being added, a lot of stuff has been slowing down as of recently and I have been encountering more and more performance issues. I don’t think this is really Roact’s fault but Roact does seem to maybe add a lot of overhead somehow. I experience the same thing with bulky React apps too, they always seem to slow down and stutter and I often can’t even capture these issues in browser profilers and stuff, so I’ve never really understood what causes such slowdown.

It’s unfortunate, but, as a result of these slowly building performance issues, I can no longer really do local server tests because it absolutely cripples my system. I think this specifically is because Studio ends up needing to initialize hundreds and hundreds of modules for every plugin, all of the dependencies are individually packaged in each.

Hopefully a lot of the performance issues that are coming up will get addressed together or something, unfortunately I think there is way too little information and not enough ways to really diagnose them yet.

3 Likes

That’s a great update! Is it possible to search on Explorer with the ability to match whole words and match case?

2 Likes

caret

3 Likes