Filters can be categorized into different groups based on their characteristics:
Depending on the Data Type, filters can be:
- Unique to a specific Data Type. E.g.: in the image above, the Hide in Viewport, Active material, and Type filters are unique to the Object Data Type.
- Shared among two or more Data Type. E.g.: in the above image, the Users filter is shared among many Data Types.
Depending whether they are removable or not:
Implicit list item name filter — this is a filter that is always present in every Data Type list.
Explicit filters — filters that can be added via the
Add Filterbutton and later removed.
Depending on the target of action, filters can be:
- Built-in Property filters.
- Custom filters.
Built-in Property Filters work on properties of Blender data. What built-in property filters are available for a Data Type depends on what properties that Blender data has.
The Users — ID filter shown in the image above is an example of a built-in property filter. Users is a property of Blender Data-Blocks that shows how many times this data is referenced by other Blender data.
Custom Filters perform more complex filtering on Blender data that may involve taking into account multiple properties. E.g., Object Data Type has a Name Same as Data filter which checks if the data that the object holds a reference to has the same name as the object itself.
- Text to match.
- Lazy matching — match the name if it contains at least one of the entered fragments. Read more.
- Case sensitive matching — treat lowercase and uppercase letters as distinct. Read more.
- Exact matching — match the name exactly. Read more.
- Regular Expression mode — use a regular expression for matching. Read more.
- Invert matching — show items that do not satisfy filter requirements.
- Alphabetical sorting — sort items alphabetically.
- Ascending or Descending sorting — sort items in ascending or descending fashion based on their name.
- Expand or Collapse toggle — show or hide the properties of a filter.
- Enable or Disable toggle — enable or disable a filter.
- Match Operator — how the value should be compared with the Comparison value.
- Name with Path — name of the filter. If it is listed under a nested menu in Filter Menu, a path will also be shown next to the name. E.g.: in the image above, the filter name is Users and its menu path is ID, because the filter is found under the ID submenu when adding it.
- Comparison value — value to compare to.
- Move filter up and down buttons — rearrange filters vertically.
- Remove filter button — remove filter from the filter stack.
Filters can have one of several possible match operators depending on the value the filter matches to. Below is a list of matching values and what match operators are available to them:
- String — any text value comprised of UTF-8 encoded characters:
- Does Not Match
- Float, Integer, Float Vector, Integer Vector, Color:
- Less or Equal
- Not Equal
- Greater or Equal
- Is In
- Is Not In
- Does Not Contain
- Length — specify the size of the collection. In the image below, All Objects filter checks for all objects inside a collection and all its child collections. Specifying a length value would allow to filter collections by the number of objects in them.
If a property value is a Vector, e.g., Color, Integer Vector, Float Vector, Boolean Vector, the filter will have a Lock/Unlock Channels toggle to allow different match operators for each channel.
Filters for properties that hold floating point values have options to define relative and absolute tolerance for precise comparison results.
Filtering process is applied for each list item starting from the top. Each item is checked whether it passes a filter condition. If it does, the next filter in the list checks against the same item until either all filter checks pass or a filter check fails and the item is filtered out of an item selection.
Some data types, such as Modifier in Global mode, can display items of different types. E.g.: Modifier list can show Array, Bevel, Mirror, Boolean, Data Transfer, Ocean, etc. modifiers all at once. These modifiers have different properties. A filter can be added to check for a specific property of one modifier which may not be available on another modifier. In this case, a filter will be skipped if it is not of the same type as the modifier.
Filter menu can be accessed from the filter section of a Data Type list.
Filter menu is divided into two parts:
- Built-in property filters.
- Custom filters.
With Two-Way Filtering disabled, the enabled status of Data Type list items has no effect on the parent Data Type list items.
When Two-Way Filtering is enabled, every parent Data Type list item is checked if it has at least one of the currently enabled child Data Type list item. If it doesn't, the parent Data Type item is filtered out. If it does, the parent Data Type item is kept in the list.
In the above video, we filter the Materials by a name gold. Then, when we enable the Two-Way Filtering, in the Mesh list, we see only those meshes, which have the Gold material assigned. In a similar fashion, the Object list shows only those objects which have a mesh as their data that has the Gold material assigned. The Collection list shows only those Collections, which contain at leas one of the listed Objects. The same goes for Scene list.
Using this feature we can be certain that there are no scenes that use meshes with the Gold material; there are also no other collections that contain objects with meshes with the Gold material.
You can see a reference of all available filters here.