Hey Developers,
We just added some new beta features to the Roblox Studio explorer filter! You can now search in Explorer by name, property, tags, classes, and subclasses.
You can also search within a subtree or combine filter parameters.
We’ve also added autocomplete functionality in some cases!
This new search syntax, in conjunction with the ability to bulk-select search results should greatly improve your Explorer search experience.
How to get these improvements
Available today as a bundled, opt-in beta feature called Advanced Explorer Filtering, these changes will be fully launched after we gather feedback from the community.
How it works
Here’s a walkthrough of the current search syntax (improvements and additions to come!)
Property Search
-
Properties can be searched through
PropertyName=Value.
Most properties are supported. This search works with partial matches, ignores spacing, and is case insensitive.-
Locked=true
will show you everything that is marked “Locked”. You should expect Terrain to come up, as it is technically a locked part.Locked=t
will return the same result.Locked = true
will also work.
-
-
Comparison operators:
Health>50
will show every Humanoid with more than 50 health. This will work for~=
,>
,<
,<=
, and>=
.==
will be an alias to=
. -
Instances are searchable by their name.
Parent=Workspace
will show you everything in the workspace. -
Enums:
Material=Plastic
will show you every plastic part. This is a partial match, except when there is an exact match.Material=pla
will show you every plastic AND SmoothPlastic part. An autocomplete will come up when you search for an enum property. -
Fields are supported for vectors. Searching
Position.X = 1
will show you everything with a position where X = 1. This will also work case insensitively and with comparison operators. -
Vectors can also be searched for as a whole, with quotation marks. Position=“1,2,3” should give you everything with that exact position. This works with comparison operators, where every value is compared against the comparator. You can search for colors; for example, to find everything red, search Color="255,0,0”
Bespoke Searches
-
classname:Part
and c:Part
will both show everything that is a Part. -
is:BasePart
will show everything that is a subclass of BasePart: Parts, MeshParts, etc. -
tag:interactable
will show everything that has the CollectionService tag of intractable. You can add this in the tag editor. Tags will autocomplete. -
name:Dog
will show everything with the name “Dog”. This is a legacy filter that has been carried over. Just typing the name (without name: prefix) will also search by name.-
Note: A name is a sequence of characters that are alphanumeric,
_
,-
, or.
To specify a name with spaces or other symbols, you can wrap in double quotes.For example: “Red Team Spawn”. Searching for a name will show you everything with a piece of that name in its own, case insensitively. For example, Dog should show you Dog, Doge, Doggy, dog, but not Cat.
-
Ancestry Search
-
You can filter within a specific scope using the
.
operator.workspace.Model
finds instances called ‘Model’ inside instances called ‘workspace’, similar to scripting. -
Chaining
.
operators adds specificity-
Animals.Dog.Tail
will show you objects named Tail inside Dog inside Animals.
-
-
.*
will match all children. Examples:-
Cart.*
will show you all children of an object named cart. -
Cart.Barrier.*
will show you all children of Barrier that is a child of Cart. -
Cart.*.Weld
will show you all grandchildren of Cart that are named Weld.
-
-
model.**
will search for all descendants of model -
.*.*
will match all grandchildren. For example,model.*.*
searches for all grandchildren of model. -
These ancestry searches also work in conjunction with property search. For example,
model.*.* visible=true
searches for all grandchildren of model that are visible.
Combining Parameters
-
Unions:
Cat or Dog
searches for everything that has “Cat” or “Dog” in its name. -
Grouping: You can also group search parameters.
-
Anchored=true CanCollide=true
searches for everything that is anchored and canCollide. -
(Anchored=true CanCollide=true)
or(Anchored=false CanCollide=false)
searches for everything that either is anchored and canCollide, OR isn’t anchored and cannot collide.
-
Explorer Header
-
We’ve added a new Explorer header, which includes (1) the number of matches for a search, (2) up and down arrows that allow you to navigate through search results, (3) a button that allows you to quickly select all search results, and (4) a search result refresh button. (See in demo below.)
-
We’ve also added a clear button to remove all text in the search field.
Reminder: you can use the following shortcuts to bulk-select search results (for more info, see Selection and Navigation Improvements in Explorer):
- ⌘/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 – This will only select search results.
We hope these features make searching easier and faster! Please let us know if you have any feedback, questions, or concerns.
Thank you!