Advanced Search Syntax in Unreal's Content Browser
Unreal Engine's content browser comes with a powerful built-in search syntax that allows for simple and complex querying.
Search Syntax Structure
The advanced search syntax (beyond simply typing in the name of an asset) consists of a Key
, Operator
, and Value
.
Keys
There are many keys available as pulled from the Asset metadata in the Asset registry, with a few special keys that exist for all Asset types:
- Name: The asset name
- Path: The asset path
- Class: The asset class (alias:
Type
) - ParentClass: The asset's parent class
- Collection: The names of any collections that contain the asset (alias:
Tag
)
Operators
Operators allow logic to be applied to search query parameters:
Operator | Note | Example |
---|---|---|
= | equals | Name = Truffle |
!= | not equals | Name != Truffle |
< | less than | Triangles < 25000 |
<= | less than or equal to | Triangles <= 25000 |
> | greater than | Triangles > 5000 |
>= | greater than or equal to | Triangles >= 5000 |
& | and | Name = Truffle & Triangles > 5000 |
|| | or | Name = Truffle || ParentClass = Fungus |
! | not | Name != Truffle |
- | `negate | -Truffle |
+ | exact | +Truffle |
... | match beginning of string | Truf... (beginning) |
... | match end of string | ...uffle (end) |
Values
Values are the target of what you are querying for, which can be (just about) anything, as seen above in the examples section of Operators
.
Finding Assets by Name
Let's consider we wanted to find all assets with chicken
in their name.
- Inputting
chicken
without any operators will return all assets that contain the stringchicken
. - Prepending the
+
operator,+chicken
, will return all assets that contain an exact match of the string. - When the
...
operator is appended,chicken...
will return all assets that start with the string. - When the
...
operator is prepended,...chicken
will return all assets that end with the string.
Filtering Assets by Name Partials
One clear reason to subscribe to a standard asset naming convention is how powerful it is in combination with the advanced search syntax.
For example, we can search for all base material decals with M_... & MaterialDomain = Decal
:
Or find all skeletal meshes, including those we may have not applied the proper prefix to with SK_... | Type = Skeletal Mesh
:
Backlog
- Cover saving custom filters with video example