Filter

A Filter is a condition that every Data Type list item is checked against and if the condition is not satisfied, the item is excluded from the item selection.

A filter section with an implicit list item name filter and explicit Object filters.

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.

    An implicit list item name filter.

  • Explicit filters — filters that can be added via the Add Filter button and later removed.

    An explicit filter.

Depending on the target of action, filters can be:

  • Built-in Property filters.
  • Custom filters.

Built-in Property Filter

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 Filter

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.

Out of twelve Objects in the list, only one Object has Mesh data that shares the same name with the Object.

Implicit List Item Name Filter

An implicit list item name filter.

  1. Text to match.
  2. Lazy matching — match the name if it contains at least one of the entered fragments. Read more.
  3. Case sensitive matching — treat lowercase and uppercase letters as distinct. Read more.
  4. Exact matching — match the name exactly. Read more.
  5. Regular Expression mode — use a regular expression for matching. Read more.
  6. Invert matching — show items that do not satisfy filter requirements.
  7. Alphabetical sorting — sort items alphabetically.
  8. Ascending or Descending sorting — sort items in ascending or descending fashion based on their name.

Explicit Filter

An explicit filter.

  1. Expand or Collapse toggle — show or hide the properties of a filter.
  2. Enable or Disable toggle — enable or disable a filter.
  3. Match Operator — how the value should be compared with the Comparison value.
  4. 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.
  5. Comparison value — value to compare to.
  6. Move filter up and down buttons — rearrange filters vertically.
  7. Remove filter button — remove filter from the filter stack.

Match Operators

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:
    • Matches
    • Does Not Match

      An example of string match operators in F-Curve Data path filter.

  • Float, Integer, Float Vector, Integer Vector, Color:
    • Any
    • Less
    • Less or Equal
    • Equal
    • Not Equal
    • Greater or Equal
    • Greater

      An example of float, integer, float vector, integer vector, and color match operators in Object Scale filter.

  • Enum:
    • Is In
    • Is Not In

      An example of enum match operators in Collection Collection Color filter.

  • Collection:
    • Contains
    • 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.

      An example of collection match operators in Collection All Objects filter.

Unlock Channels Option

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.

Vector properties, e.g., Color, Vecor Integers, Vector Floats, Vector Booleans, have an unlock channels option to allow different match operators for each channel.

Floating Point Comparison

Filters for properties that hold floating point values have options to define relative and absolute tolerance for precise comparison results.

Filtering Rules

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

Filter menu can be accessed from the filter section of a Data Type list.

Filter menu button, highlighted by a red square, can be used to add new filters.

Filter menu is divided into two parts:

  1. Built-in property filters.
  2. Custom filters.

Filter menu is divided into two halves. 1. Built-in property filters. 2. Custom Filters.

Two-Way Filtering

Two-Way Filtering can be accessed from the Settings bar in the Data Type Selection Interface.

Two-Way Filtering is available only in Custom Data Type Scope Mode mode.

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.

Two-way filtering example.

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.

List of Available Filters

You can see a reference of all available filters here.