Quick Selection Group Visibility via Filters


The Filter Options in the Selection Group Palette allow you to easily show or hide selection groups based on simple or complex expressions, or various standard filters.



Pay attention to tooltips. Nearly every function in the Toolbar has extensive tooltips listing functionality and hotkeys





Global Filters




Global Filters are directly accessible via exposed buttons in the toolbar. Two global filters are available:

    1. Selection Group Types (Face Group, Patch Group, Object Group)
    2. Material ID Color

Global Filters can work on their own (e.g. "Show me all Red Material IDs on Selection Groups of Type Face") or in concert with the Expression Filter bar (e.g. "Show me all Wheels with Red Material IDs on Selection Groups of Type Face")


Global Filters - Selection Group Types


Selection Group Type Filters determine what kind of Selection Groups other Filters (e.g. Material ID Filters or Search Words) should operate on, e.g. if you set it to "Face" only Face Selection Groups will be processed.

Mari can create 3 different types of Selection Groups, depending on which Scene Selection Mode is active, when you create a Selection Group:


  • Face - containing Polygons
  • Patch - containing entire UDIMs
  • Object - containing an entire Object


The Selection Target can be changed via the Dropdown of the Filter. 

If you are unsure about the Type of Selection Group to Target you can leave it at "Any"



Apart from using the Filter Button and Dropdown in the UI, Selection Type Filters can also be set using Variables in the Filter Field, which gives additional control.


The following variables can be used in the Search field to overwrite the Selection Type Filter. Variables are case-insensitive.
If a variable is used in the search, the Dropdown Menu will be disabled/grayed out


  • $face
  • $patch
  • $obj


Example of targeting "All Face Groups containing the word 'wheel' and all Object Groups containing the word 'plane' "


Variables can be inverted to act like "Except" or "Not" by prefixing them with an exclamation mark (!) e.g. 

  • !$face
  • !$patch
  • !$obj


You can combine variables freely e.g. "$face+$obj" or "$face,$obj"


Example of targeting "All Selection Groups that are not Face Groups and contain the word 'wheel' "



Global Filters - Materials IDs


Material ID Filters can be accessed via the Round Circle in the Visibility Toolbar of the Selection Group Palette.
Material ID Filters work by checking ID Color Overrides assigned to Selection Groups.


ID Color Overrides can be set in one of three ways:




Material ID Filters can work as a 'pre-filter' on expressions entered into the Search Field or on their own e.g.

    • Activating an ID Filter by clicking on its checkbox or button without any text in the Search Field will only use the ID Filter as Search Argument
    • Activating an ID Filter by clicking on its checkbox or button with text in the Search Field will only use the ID Filter as first Search Argument, the text as second Argument


In the below example we first search for everything that has the ID Color Green, then search for "wheel" within the Selection Groups with the ID Color Green.


To activate or deactivate a Material ID FIlter, click on the Checkbox to the left or the Button with the FIlter Name. Multiple Material ID Filters can be active at the same time.


When a Material ID Filter is active the Black Circle in the Toolbar will change to a colored one, indicating the colors of the active ID Filters


To quickly disable all active Material ID Filters use the "Disable all Material ID Filters" Action in the dropdown



usually you won't have to worry about manually adding or removing material id filters.

Extension Pack keeps track of any Material ID Overrides in your scene and auto-adds the necessary filters to the dropdwon and removes them when the color id no longer exists in your scene.

Example of a newly added ID Color Override being auto-added to the list of available Material ID Filters


Depsite that you have the option to manually create a Material ID Filter using the "Create new Material ID Filter" option in the dropdown and you can remove existing Filters by clicking on the "X"

next to a filter.


By default Material ID Filters will be auto-named with the Color Values e.g. "[1.0,0.0,0.0]" for a Red Material ID Filter.


You can rename any Material ID Filter after it has been created by holding down the Hotkey R and clicking on the Filter you want to give a custom name to.

The new Name will persist even if you reopen the scene.

Example of renaming a Material ID Filter by pressing and holding the Hotkey R.




Expression Filters

Entering Expressions and word searches will be the main way you interact with the visibility filter toolbar, to control what Selection Groups are made visible.
Expression Filters are executed when pressing ENTER with the cursor inside the text field. To force the execution of all FIlters, even if there wasn't a clear change - press CTRL+ENTER.




Global Filters always run first, before any Expression or Word Search. E.g. by default a word search only runs within Face Groups, as defined by the Global Selection Group Type Filter



The Search Field maintains a project specific search history that suggests auto-completes while typing.


A completion field will appear while typing, suggesting previous search terms


  • To quickly clear the Search field, press on the "Clear Search Field" Button
  • To remove the search history from a Project SHIFT+Click the "Clear Search Field" Button


Use the "Clear Search" Button to delete a search or clear the Search History

In its most simple form you can use the Filter Bar to search for the occurrence of a specific word within Selection Groups.
Any Group where the word appears, will be toggled visible - groups where the word does not appear will be hidden.

The Search is always case-insensitive, meaning "wheel" lowercase will match to "Wheel" or "wHEel".


Word Operators:


, (comma)

Use the comma (,) operator to treat word searches as OR.

  • "wheel,roof" .......  will match to any Selection Group containing the words wheel OR roof.

+ (plus)

Use the plus (+) operator to tread word searches as AND


  • "roof+chimney" .......  will match to any Selection Group containing both the words roof AND chimney



! (exclamation mark)

Use an exclamation mark (!) operator to exclude words from the search

  • "!chimney" .......  will match to any Selection Group NOT containing the word chimney

  • "roof+!chimney" ....will match any Selection Group containing the word roof but NOT the word chimney

- (minus)

Use the minus (-) operator to set specific word groups to be set to invisible


  • "roof-top of"
    If you have a Selection Group called "Roof" and one called "Top of Roof", this
    search will first run the "roof" search, turning both selection groups visible.
    Then the subtraction is run, where Selection Groups containing "top of" are turned invisible, leaving you with just the main "Roof" Selection Group


Word operators can be freely combined into more complex expressions e.g.

roof+!chimney,door-handle


Will match and turn visible:

    • any Selection Group containing the word door
    • any Selection Group containing the word roof - if the Group name does not also contain the word chimney.


Will force any Selection Group to invisible that:

    • contains the word door and handle

Generic Operators are a special kind of variable that can only be used in isolation, meaning their use excludes usage of any other variable or word search.

Generic Operators stll are being applied to global pre-filtering though, meaning for example the * (star) operator to display all, always means 

"display all selection groups that match the Selection Group Type and Material ID Filters"


The following variables are available:

Generic Operators:


* (star)

Use the star (*) operator to display all selection groups matching the global filters
Selection Group Type and Material ID.

!* (exclamation mark+star)

Use the examation mark + star (!*) to hide all selection groups matching the global filters Selection Group Type and Material ID.

| (pipe) or ` (backtick)

Use the pipe ( | ) or backtick (`) operator to invert the current selection group visibilities



Variables can be used to fine tune your search e.g. "$face" filters only for face selection groups directly via the search string, instead of using the Selection Type Dropdown Menu.
Each variable can exist in a so called "global Context" or in a "local Context" and can be inverted by prefixing it with an exclamation mark (!).

Global vs Local Variable Context:


$face,wheel,cart,horse

The "$face" type filter is used in separation and will apply to all search words - wheel, cart and horse.

$face,wheel,cart+$patch,horse

The "$face" type filter is used in a global context and applies to the words wheel and horse. The word "cart" has its own local context type filter and is goverend by "$patch"


Available Variables:


$face, !$face

Face Selection Groups, prefix with ! to act inverted as "Except".

  • $face,wheel ........ only groups containing "wheel" that are face selection groups will be made visible
  • $face+wheel........ same as above, however the face selection type is applied as a local variable to wheel
  • !$face,wheel........ only groups containing "wheel are are not face selection groups will be made visible
  • !$face+wheel .......same as above, however face selection type is applied as a local variable to wheel


Note, that if you only type $face  (and no other words) into the expression field, all face groups will be shown and other selection group types will be hidden. This is a special case where a Selection Group Type Variable can affect other Selection Group Types as well.


$patch, !$patch

Patch Selection Groups, prefix with ! to act inverted as "Except".


  • $patch,wheel ........ only groups containing "wheel" that are patch selection groups will be made visible
  • $patch+wheel........ same as above, however the patch selection type is applied as a local variable to wheel
  • !$patch,wheel........ only groups containing "wheel are are not patch selection groups will be made visible
  • !$patch+wheel .......same as above, however patch selection type is applied as a local variable to wheel


Note, that if you only type $patch (and no other words) into the expression field, all face groups will be shown and other selection group types will be hidden. This is a special case where a Selection Group Type Variable can affect other Selection Group Types as well.

$obj, !$obj

Object Selection Groups, prefix with ! to act inverted as "Except".


  • $obj,wheel ........ only groups containing "wheel" that are object selection groups will be made visible
  • $obj+wheel....... same as above, however the object selection type is applied as a local variable to wheel
  • !$obj,wheel........ only groups containing "wheel are are not object selection groups will be made visible
  • !$obj+wheel .......same as above, however object selection type is applied as a local variable to wheel


Note, that if you only type $obj (and no other words) into the expression field, all face groups will be shown and other selection group types will be hidden. This is a special case where a Selection Group Type Variable can affect other Selection Group Types as well.


$vis, !$vis

Only searches within Selection Groups that are already visible in the Selection Group Palette
If it is inverted with a prefixed ! (!$vis) it will search in the invisible Selection Groups.

  • $vis,wheel ........  only searches for the word "wheel" in selection groups that are visible
  • $vis+wheel........  same result as above, however the visibility filter is applied as a local variable to wheel
  • !$vis,wheel ........ only searches for the word "wheel" in selection groups that are invisible
  • !$vis+wheel........ same result as above, however the visibility filter is applied as a local variable to wheel

$invis, !$invis

Only searches within Selection Groups that are already invisible in the Selection Group Palette
If it is inverted with a prefixed ! (!$invis) it will search in the visible Selection Groups.

  • $invis,wheel ........  only searches for the word "wheel" in selection groups that are invisible
  • $invis+wheel........  same result as above, however the visibility filter is applied as a local variable to wheel
  • !$invis,wheel ........ only searches for the word "wheel" in selection groups that are visible
  • !$invis+wheel........ same result as above, however the visibility filter is applied as a local variable to wheel

$inset:SETNAME, 
!$inset:SETNAME

Searches within visible selection groups within the specified Visibility Set.Name
If it is inverted with a prefixed ! (e.g. !$inset:SETNAME) it will search within Selection Groups that are invisible
in the specified Visibility Set,

  • $inset:roof, arm ... 
    only searches for the word "arm" in selection groups that are visible in the visibility set "roof"

  • $inset:roof + arm........  
    same result as above, however the set filter is applied as a local variable to the word "arm"

  • !$inset:roof, arm ... 
    only searches for the word "arm" in selection groups that are invisble in the visibility set "roof"


Path Search Operator can be used to isolate word occurences within a path-style Selection Group Name


  1. /Body/Head/Face/Eyes/EyeLeft
  2. /Body/Head/Face/Eyes/LidLeft


In the above example a search for "eye" would activate both Selection Groups. However we want to only set the group to active that has "eye" in the Object Name "EyeLeft".
To do so we can use Path Variables to isolate parts of the Path to search in. Path Variables can again be used in a global context or in a local context, scoped to a specific word group.



$/, $//,$/// etc.

You can use the $/ (forward slash) variable with any amount of forward slashes to specify the part of the Path Style Selection Group Name to search in.

Each Slash used in the variable corresponds to one slash section in the Selection Group Name


  • $/,eye ... 
    will search each selection group name from its first forward slash to the right. In the case above this means
    the full selection group name will be evaluated.

  • $//,eye ...
    will search each selection group name from its second forward slash to the right. In the cases above this means that the /Body Section will be ignored.

  • $///,eye ...
    will search each selection group name from its third forward slash to the right. In the cases above this means that the /Body/Head/ Section will be ignored.


Add as many slashes as needed to the variable to narrow down a search to a specific part of the path this way



!$/, !$//,!$/// etc.

Using the path search variable with a prefixed ! (exlamation mark) will reverse the counting of slashes, counting from the right side of the name.

  • !$/,eye ... 
    will search each selection group name from its first forward slash to the right. In the case above this means
    we search only in the bold parts:


    1. /Body/Head/Face/Eyes/EyeLeft
    2. /Body/Head/Face/Eyes/LidLeft


  • !$//,eye ... 
    will search each selection group name after its second forward slash to the right. In the case above this means we search only in the bold parts:


    1. /Body/Head/Face/Eyes/EyeLeft
    2. /Body/Head/Face/Eyes/LidLeft


  • !$///,eye ... 
    will search each selection group name after its third forward slash to the right. In the case above this means we search only in the bold parts:


    1. /Body/Head/Face/Eyes/EyeLeft
    2. /Body/Head/Face/Eyes/LidLeft



As with any other variable, the path search can be scoped globally (e.g. "$/,eye,head") or locally to specific
word groups (e.g. "head,$/+eye")






Order of Operation - Face vs Patch vs Object Level Selection Groups


Mari maintains 3 types of Selection Groups, that are created depending on which Selection Mode you were in, when adding a new Group:

  • Face Groups ("Polygon Group")
  • Patch Groups (whole Udims)
  • Object Groups


The Selection Mode found in the Tools Toolbar, controls what type of Selection Group will be created


If a polygon is part of different Selection Group Types, its visibility will be determined by Mari's own Priority Treatment of Selection Group Types


  • The Visibility State of a Object Selection Group willl supercede the Visibility State of a Patch Selection Group
  • The Visibility State of a Patch Selection Group willl supercede the Visibility State of a Face Selection Group


Below we have an example where the roof of the Tram Object is part of three different selection group types


Using the Filter bar and searching for "Roof" might not give you any visible object in the viewport.
While the "Roof" Selection Group will be made visible, the "Top of Tram" and "Tram" Selection Groups will be hidden.

Due to Mari's priority of Patch and Object Groups over Face Groups, the result would be an empty viewport.

To rectify this make sure to have "Top of Tram" and "Tram" turned on and the Expression field set to "Face" Mode, for example via the Dropdown



A search for "roof" will then only affect the face groups and not interact with the already turned on Patch and Object Groups.
An alternative would be to search for 

    • $face,roof
    • $face+roof







<== Previous Topic: Visibility Filters Overivew                                                                                                 ==> Next Topic: Visibility Sets