Mari 7.5v1 Release Notes
Release Date
3 December 2025
Previous Release
New Features
Multi-Painting
Whilst artists are expected to work with many different texture maps in order to define surface characteristics, Mari’s powerful painting toolset has always been limited to using a single RGBA image. You've been able to project and paint your diffuse texture straight onto your model, but weren't able to also paint a specular and bump at the same time. Gone are those days! At long last, we have welcomed Multi-Painting to Mari!
In Mari 7.5v1, you'll find a brand new palette within the Palettes toolbar that opens the Multi-Painting interface where you're able to drive the color or image that you're painting into each individual stream.
To get started, simply create a new Multi-Channel Paint Node in your Node Graph and choose which Shader Model context you plan to work within. Then head over to the new Multi-Paint Palette to start tweaking your settings. When the node is selected as the current paint target, you'll see the palette update with a list of the corresponding shader streams and Multi-Painting will be automatically enabled. This can also be toggled manually using the power button at the top-left of the palette for situations where you may want to debug between single and Multi-Painting contexts.
At any one time, you can paint into up to 8 different streams from a single Multi-Channel Paint Node - merging the node into your network in the exact same way that you would work with a Material or standard Paint node. Whilst you will be painting into multiple channels at once, only one channel at a time is treated as the stream that will be visible as the preview when using the Paint Through tool. This is the Primary Stream, indicated by the white eye icon, which is used to sync your color swatches and other toolbar settings with the palette.
A large number of Mari's painting tools have been updated in order to better support the Multi-Painting context. This includes the following tools:
- Select Tool Fill
- Paint
- Roller Brush
- Blur
- Paint Buffer Eraser
- Paint Through
- Clone Stamp
- Warp
- Pinup
- Slerp
- Tow Brush
- Marquee Select
- Paint Buffer Transform Tools
In addition to this, certain properties such as the brush properties, projection masks and other settings within the Painting palette are now supported when working in Multi-Painting context.
Multi-Paint Palette Presets
As part of the new Multi-Painting workflows, we recognise that there will often be times when artists might need to reuse palette set ups so that they don't have to recreate the way they want to paint each and every time they make a Multi-Channel Paint node. We've introduced a new Preset system and file type that can be used to store palette set ups within the Shelf palette for easy reusability.
Image Groups
The Image Manager has always been quick to over-populate, even with tabs separating your material images. In Mari 7.5v1, we've removed the legacy tab system in favor of using a new grouping mechanism for organization.
Image Groups can be created or added to using the right-click menu in the Image Manager. Double-click Image Groups to expand or collapse them. Additionally, images can be dragged and dropped inside or outside of existing groups.
When you drag and drop an Image Group into the Multi-Paint palette, Mari now automatically assigns images to streams based on matches between the textures' filenames and naming patterns for the current shader model in available Material Ingest Presets (*.mip).
It is also possible to manually edit the mapping the images to shader model streams using a table in the Image Group's properties. Here, you can either assign images to specific streams, run an auto-assignment of images which searches for matches in all available Material Ingest Presets, or use a specific Material Ingest Preset for assignment. This can be useful when image filenames are not matched to the expected shader stream during automatic assignment.
Bakery-powered Texture Transfer
A new Texture Transfer system has been added to Mari, making use of the incredibly powerful Bakery engine to vastly improve speed and performance. To try out the new system, simply select a group of nodes in your Node Graph, right click and navigate to Selection > Transfer. Texture Transfer in the Bakery means that moving your textures between assets is quicker than it ever has been before. In one of our tested projects, transferring three 28 UDIM 4k16bit Paint nodes into a single 4k UDIM now only takes 10 seconds compared to the long wait in previous versions.
Feature Enhancements
Automatic Project Backups
-
ID 578921 - When loading projects with missing *.mri files, Mari now attempts to recover the project from autosave or backups.
-
ID 578922 - Mari now saves a data hash list file within project sub-caches for improved tracking of data blocks by the auto-backup system.
-
ID 578923 - A new menu item has been added: File > Tag Version. This can be used to save your project and simultaneously add a tag to the backup, given the project has a backup location configured.
-
ID 578924 - The project Restore context menu is now organised into date-time and tag-based sub-menus, to provide an enhanced overview and easier navigation of your saved backups.
The updated menu now offers the following sub-menus: Version Tags (for backups that have user tags), Today, Yesterday, This Week, Last Week, This Month, Last Month.
Older backups can still be accessed by clicking Other or by selecting your project and clicking the Restore button in the projects menu, then browsing the backup location. -
ID 578925 - Users can now add tags to automatic project backups to assist with organisation. Tags can be added to backups by right-clicking a project and selecting the backup in the Tag Backup sub-menu.
-
ID 578927 - Mari no longer displays backups with system tags, such as autosave backups, in the project Restore context menu.
Additionally, to restrict certain tags from the appearing in the UI, users can add register backup tags as system tags with the Python API usingmari.ProjectManager.setRestoreSystemTags() -
ID 578934 - The time taken before a project can be loaded after it is either restored a from backup, imported from a backup, or duplicated (given the project has an available backup), has been greatly reduced.
Mari no longer needs to wait until all project data has been copied before allowing the project to be opened, and the remaining data will be copied as it is needed.Additionally, the performance of searching for project backups has been improved, and Mari will prefer to search faster disks when finding missing data files.
A mechanism to prevent deletion of a project while its data is still being processed by the the backup system has also been implemented.
-
ID 578935 - The Project Backup process now supports multi-threading for improved performance.
The Python APIProjectManager.triggerBackup()function has been extended to include an optional argument for specifying the number of threads to use for backing up a project.
The command line MriBackup executable also includes an optional argument for thread count.
The environment variableMARI__PROJECT_BACKUP_THREADScan also be used to override the default thread count, which is currently set to 2 threads. -
ID 586018 - Project Tags can be added to projects with configured backup locations using right-click menu > Tag Project option.
Project Tags are included in the tags of new backups, and can be used to add an easily identifiable set of tags that persist across a range of backups. -
ID 586020 - A Latest option item has been added to the project context menu > Tag Backup sub-menu. The Latest option can be used to add a tag to the latest backup available.
Baking
- ID 589561 - When baking processes fail, the entire render chain operation stack is now written to the MariLog.
Brushes
- ID 609271 - Through our collaboration with Bradford deCaussin, the creator of our iconic Brad's New Brushes, Mari 7.5 introduces 45 new brushes. A new shelf named Brad's Movie Brushes is now available in the Shelf Palette.
Content
- ID 610570 - Additional Mari content can be downloaded from the "Download Additional Content" menu item under the Help menu.
History
- ID 606017 - Mari now allows the user to select and delete undo steps and trigger garbage collection. The following actions have been added to the History Palette's right-click mouse options:
- Clear Older History
- Clear All History
- Clear Newer History
- Clear Current & Older History
Image Manager
-
ID 600667 - Images in the Image Manager palette can now be renamed without needing to save a copy of the image.
-
ID 601915 - Mari now automatically detects whether an image that is imported into the Image Manager should be set as Color or Scalar Data, by matching the filename to naming patterns in available Material Ingest Tool Presets, and configures the colorspace settings of the image accordingly. This behaviour can be disabled using the new Preferences > Color > General > Color/Scalar Detection preference.
-
ID 602422 - Users can now specify a shader preference order for Color/Scalar Detection using the
MARI_SHADER_MODEL_PREFERENCE_ORDERenvironment variable, by setting it to a list of shader model names using a colon ":" as a separator:
E.g.MARI_SHADER_MODEL_PREFERENCE_ORDER=Principled BRDF:Arnold Standard Surface:Unreal
This can be useful in scenarios where an image's filename is resolved to a color stream for one shader model, but a scalar stream for a different shader. Please note that It is only recommended to set this environment variable when issues in the automatic detection arise and should be carefully managed.
Material Ingest Tool
-
ID 605227 - New Python API functions have been introduced for handling Material Ingest Presets
mari.ShaderModelManager.materialIngestPresetListmari.ShaderModelManager.materialIngestPresetmari.ShaderModelManager.loadMaterialIngestPresetFilemari.ShaderModelManager.saveMaterialIngestPresetFilemari.ShaderModelManager.materialIngestPresetLoadedmari.ShaderModelManager.materialIngestPresetChangedmari.ShaderModelManager.materialIngestPresetRemoved
Along with the following new signals:
Updated the Material Ingest tool to use the new Material Ingest Presets Python API functionality.
Miscellaneous
-
ID 595372 - Mari's custom crash handling system has been replaced with Sentry.
When Mari crashes, users can now opt to upload a crash report. Any user data, such as paths or filenames, are censored in the uploaded log.
Multi-Paint
- ID 173125 - Mari now ships with the ability to paint into multiple paint targets at the same time.
Node Graph
-
ID 486469 - To prevent nodes being created outside of the visible Node Graph, Mari no longer automatically repositions nodes when the cursor is in proximity of existing nodes.
-
ID 597052 - & 510678 Added the ability for Material, Smart Mask and Node Package archives to export and load image data from Paint nodes. Note that Bake Point nodes can now also be saved, but their baked data is not retained.
Viewer nodes are now also prevented from being contained in exported Material and Smart Mask archives.
Performance
-
ID 589640 - The performance of interaction with Color Pickers has been improved.
-
ID 597287 - To improve node selection performance, marquee selection of multiple Paint nodes no longer changes the current paint target. Marquee selection of a single Paint node will still target the selected node.
Additionally, selecting a Paint node by selecting a parent Backdrop node no longer changes the current paint target. -
ID 606236 - The performance of interaction with the Node Graph palette has been improved.
Python
-
ID 558107 - Two new signals have been added to
mari.ProjectManager:aboutToExtractArchive(UUID, FileName)- This is emitted just before a new project is going to be created from an archive.extractedArchive(UUID, FileName)- This is emitted when a new project has been created from an archive.
-
ID 589562 -
mari.ImageSet.getImportTemplate()has been added to the Python API.
This allows Python engineers to prompt the user to select an image set sequence and settings using the standard dialog found in the application.
Shortcuts
- ID 586008 - Shortcuts now trigger in the widget that the mouse cursor is positioned over, instead of the active window.
Switch Node
- ID 594171 - The Reset button for Switch Nodes now resets to the first input instead of disabling the node itself.
Tools
-
ID 588156 - Two new blending modes have been implemented: Subtract and Divide.
Additionally, importing *.psd files containing layers with Subtract and Divide blend modes now sets the new blend modes correctly for these layers. -
ID 592373 - The Marquee Select tool is now disabled when selection is cleared, and enabled when selection is restarted.
Additionally, marching ants are now displayed when the entire canvas is selected rather than being hidden.
UI
-
ID 522763 - The Selection Groups palette's scrolling area now updates to match the group name lengths automatically.
-
ID 586029 - The File Browser's filtering options have been improved. Users can now filter by a specific filetype, or alternatively use a RegEx pattern to filter the displayed files.
-
ID 590368 - New menu items for Node to Image and Image to Node selection have been added:
- Selecting nodes in the Node Graph, right-clicking and choosing Selection > Node to Image Selection will select any images in the Image Manager that the selected nodes use.
- Selecting images in the Image Manager, right-clicking and choosing and choosing Image to Node Selection will select any nodes in the Node Graph that use the selected images.
-
ID 600914 - The Tool Properties > Brush Tip > Bitmap Path property text field has been replaced with an image picker.
-
ID 603986 - The style of buttons in Mari has been updated for a more modern appearance.
-
ID 603987 - The style of combobox menus in Mari has been updated for a more modern appearance.
Bug Fixes
2D Paint Mode
- ID 602448 - Loading a
.mrimgfile would prevent the Image Write node from retrieving the Image Name field.
API/SDK Changes
-
ID 578930 - The
mari.geo.channelAddedandchannelRemovedsignals were not always being emitted at the correct times when undoing/redoing addition and removal of a channel node. -
ID 584983 - The
generateRestoreSuffixdescription was not spelt correctly in the Python API documentation. -
ID 585989 - Renaming a Shelf Item to the same name with Python numerically incremented the name.
-
ID 597289 - The
GeoEntity.imageSetMadeCurrentsignal was being emitted for unrelated GeoEntities. -
ID 597818 - Mari supports the
PYTHONPATHenvironment variable having unbalanced quotes. -
ID 603112 - Querying
GeoEntity.is2DPaintObject()within a slot connected to theentityAddedsignal would cause the Python API to report false information. -
ID 603466 - Calling
mari.ImageSet.getImportTemplatedirectly rather than on an instance ofmari.ImageSetwould cause Mari to crash.
Additionally, the static function was renamed tomari.ImageSet.getImportTemplateForEntityto avoid ambiguity. -
ID 607081 - Mari would bring an error when trying to group empty shelves via the API.
-
ID 608119 - Mari would crash when an invalid shelf was passed into the Python API while attempting to group a shelf.
-
ID 608509 - When spawning the color picker from the Python API for non-scalar colors, the returned value was always black, regardless of what value was picked.
API/SDK Documentation
- ID 603465 -
mari.ImageSet.getImportTemplate()was missing in the Python documentation
Automatic Project Backups
-
ID 578929 - Cancelling project duplication did not remove the duplicate project sub-cache.
-
ID 578936 - Certain data blocks were skipped by the backup system's copy operation.
-
ID 579779 - The backup system was not backing up Environment Light image data.
-
ID 579780 - The backup system was not restoring Selection Groups correctly.
-
ID 583395 - Automatic Backup took longer based on the size of the Project
-
ID 590370 - The backup system's automatic repair process did not function on Windows.
Baking
- ID 589560 - Baking processes could fail when the baking Virtual Texture was not large enough to handle the resolution being baked.
Canvas
- ID 546663 - The pie menu would not work across multiple Canvas tabs.
Color Picker
- ID 589644 - Adjusting Color Picker sliders with a graphics tablet had poor performance.
Colorspace
-
ID 583040 - Changing OCIO config would incorrectly raise a GL context error log
-
ID 601607 - When the Range dropdown was changed in Mari, the Color picker sliders were incorrectly converting and presenting the color values.
Exporting
- ID 576789 - Opening an EXR Export Items File Options would show the last selected Compression and Type settings, instead of the Export Item's current settings.
File Export
- ID 596840 - Exporting multiple images and paint data would export the same EXR types for Channels, Layers or Export Items.
File Import
-
ID 578926 - In texture import dialogs, Mari no longer displays the earliest timestamp found in a UDIM sequences and instead displays the latest timestamp.
-
ID 589635 - Importing textures into Paint nodes could cause a crash in rare instances.
-
ID 595085 - The loading of wireless bitmaps, WebP, X BitMap and X PixMap is no longer supported.
-
ID 599865 - Importing a Material created in an older version of Mari into a newer version via Python Script would cause the nodes inside the Material to not update to the latest version hash.
Filters
- ID 568026 - Applying Gaussian2D Filter to Selected Faces Of the Current Paint Target would only blur horizontally in the X-axis.
Material Ingest Tool
- ID 605976 - Automatic removal of Material Ingest Tool Presets from the list would fail. Presets are now removed from the list of available presets during launch if the files cannot be found.
Miscellaneous
-
ID 404983 - Principled BRDF Channel Presets were not spelt correctly.
-
ID 590389 - Unnecessary errors were printed to the MariLog when viewing nodes which used multiple images with different bit-depths.
-
ID 596661 - Mari would print unnecessary camera mismatch messages to the MariLog.
Node Graph
-
ID 562406 - Re-opening a node's properties removed them from the Node Properties palette.
-
ID 562600 - It was not possible to promote knobs of nodes that had been grouped while their node properties were open.
-
ID 562608 - Clearing the Node Properties palette while a Group node's properties were open prevented further knob promotions from being displayed in the Group node's properties.
-
ID 567219 - Multiple undo history steps were added when creating a node that was automatically connected.
-
ID 578932 - The Assign Geo-Channel action did not correctly assign the selected Geo-Channel.
-
ID 590365 - Moving Backdrop nodes without using Whole Backdrop Select was not un-doable.
-
ID 594789 - Entering Edge Sever mode would cause the cursor to not change to the razor icon correctly.
-
ID 595942 - Mari would crash when a Viewer node and a viewed Bake Point node were deleted together.
-
ID 602127 - Middle mouse button without Alt key now starts panning in the Node GraphPalette with the Mari Control Type.
-
ID 605967 - Nodes were prone to jump positions in the Node Graph when the Open Node Properties action was configured to run upon node selection with a Python script.
Objects
- ID 590832 - Undoing and redoing the additional or removal of an Object could crash Mari.
Painting
- ID 601705 - Edge bleed would incorrectly encroach onto faces of entirely hidden sub objects when performing Fill Selected.
Performance
-
ID 539799 - Mari would crash when loading a mesh into a project that had recently been loaded and then undone.
-
ID 580452 - Mari would incorrectly cause disappearing faces and other broken behaviours when subdividing a USD Object Version in an Alembic Object that had multiple geometry entities/gprims.
-
ID 590301 - Opening previously docked palettes in pinned mode would cause Mari to crash.
-
ID 596581 - Mari would crash due to missing node definitions when using Safe Mode at level 7 or higher.
-
ID 604469 - Project archives created in Mari Non-Commercial would fail to extract when importing them back into Mari.
-
ID 608488 - Mari would crash when a shortcut was held down that referred to an action that no longer existed.
Project
-
ID 610037 - Archives imported from Windows would not be archived on Linux without opening and saving.
-
ID 610388 - Mari Non-Commercial can now load example projects.
Project Data
-
ID 578918 - Loading a project with invalid UUID(s) could cause project corruption.
Additionally, Mari now derives project UUIDs from the project sub-cache folder name.
-
ID 578919 - Mari crashed during project load when specific files were missing from the project sub-cache.
-
ID 579778 - Mari could potentially crash when loading a project containing Face Selection Groups.
-
ID 589638 - Modifier keys could cancel text edits while renaming projects.
Session Scripts
- ID 578928 - Session Scripts dialogs would fail to open if Bake Points were present in the Node Graph and the connected network was recognized a layerstack.
Shaders
- ID 547988 - Harmless but unnecessary shader compilation warnings from certain Nvidia graphics card drivers were written to the MariLog.
Shelf
-
ID 585988 - In some instances, duplicate Shelf Items would be added to the Shelf palette. Duplicate Shelf Items are no longer allowed to be loaded into the same Shelf.
-
ID 599620 - Moving items within a Shelf was causing them to disappear.
Shortcuts
-
ID 585970 - Assigned shortcuts were ignored if they were loaded before the action they perform was registered with Mari.
-
ID 590367 - Default shortcut combinations that included the Meta key have been removed from the Select Backdrop Only action.
Tooltip
-
ID 558906 - The Bakery's Edge Bleed tooltip had incorrect formatting.
-
ID 560508 - The Max Write Memory Factor preference's tooltip was not spelt correctly.
-
ID 582770 - The LDR/HDR button tooltip was not spelt correctly.
-
ID 590390 - The Texture Slot Count preference did not have a tooltip.
-
ID 590827 - Tooltips in the Projects tab did not always display up-to-date information.
-
ID 597750 - Export Items' tooltips would not show the default EXR types initially when viewed.
UI
-
ID 378085 - Mari would incorrectly steal focus and keep the splash screen on top when launching or loading projects.
A new environment variableMARI_SPLASH_ON_TOPhas been added for the previous behaviour. -
ID 526593 - Mari would incorrectly show a cryptic warning when the Gamma value got too close to 0.
-
ID 552110 - Dragging or using the arrow keys on the number box for node parameters would cause Mari to incorrectly restrict values outside of the slider range.
-
ID 578931 - The undo record created by searching for a node with the J key was missing the node's name.
-
ID 590369 - Changing the Texture Slot Count preference now spawns a warning popup informing the user that Mari needs to be restarted for the new value to be applied.
-
ID 590828 - The Projects tab's Sort by box now defaults to Modified. Additionally, the Recent option has been removed as it did not work reliably.
-
ID 590831 - The warning dialog displayed when projects are loaded with mismatched image data was not correctly supressed in terminal mode.
-
ID 594324 - A color preset in the Color Presets dropdown would incorrectly appear to be selected when it was right-clicked or middle-clicked.
-
ID 597284 - The Import Selected Patches button is now always shown in the Import into Geo-Channel dialog. The button is disabled when there is no current Patch selection.
-
ID 597285 - Trailing zeros have been removed from numeric boxes.
-
ID 597488 - Mari crashed when opening the pie menu, closing and reopening a project, and opening the pie menu again.
USD Import
- ID 549771 - The Keep Centered USD import option did not centre all meshes at the origin of the scene.
Known Issues
Roller Brush
- ID 524361 - Using the Roller Brush in conjunction with the Jittering Brush system set to Jitter per Tip, will create a gradient effect instead of using different colors for each tip that has been rolled.
2D Paint Mode
- ID 524361 - Switching tabs between 2D/3D sets the 2D camera to an incorrect position.
VFX Reference Platform
-
While Mari 7.5 remains on VFX Reference Platform CY2023, the following libraries have been updated:
Library Mari 7.1 Mari 7.5 FBX 2020.3.4 2020.3.7 libxml2 2.12.5 2.13.8 OpenSSL 3.0.13 3.0.16 zlib 1.2.13 1.3.1 OpenEXR 3.1.4 3.1.13
System Requirements
Mari increases its level of performance with newer, more advanced hardware configurations. However, Mari is tested and capable of operating on many older, prior-generation systems. For this reason we are listing below-minimum requirements, which are recommended, and on which tests have been performed. Your particular needs may vary from that of other users.
Officially Supported Operating Systems
- Windows 11 64-bit
- Linux 64-bit operating system (Rocky/RHEL 9)
Linux Desktop Managers
Mari is officially tested on GNOME. While it generally performs well on other desktop managers, most of our bug fixes will target this. We would be interested to know if there are any other preferred desktop managers to consider in the future so feel free to share your specifications with our Support Team at support@foundry.com
Minimum Hardware Requirements
- Quad-core processor
- 10+GB disk space available for caching and temporary files
- At least 4GB RAM
- Display with 1680 x 1050 pixel resolution
- An NVIDIA or AMD* graphics card with the latest drivers
- 1GB of graphics memory
- OpenGL 3.2* or higher
*Displacement preview is currently only available on the cards and drivers that support OpenGL 4.0 or newer.
Recommended System Requirements
- 2.5+Ghz Quad-core processor
- 250+GB disk space available for caching and temporary files. SSD is preferable.
- 16GB RAM with additional virtual memory*
- Display with 1920 x 1080 pixel resolution
- An NVIDIA or AMD* graphics card with the latest drivers
- 2+GB of graphics memory
- OpenGL 4.4 or higher support
*The use of virtual memory improves stability and helps prevent data loss on large projects.
'Recommended' does not guarantee that it meets your particular needs.
Tested Hardware
The configurations listed below are those that Foundry have tested with Mari. Due to the constantly changing nature and wide variety of computer hardware available in the market, Foundry is unable to officially certify hardware. The list below can be used as a recommendation and does not guarantee that it meets your particular needs.
Please download and install the latest graphics driver from the NVIDIA or AMD websites, and ensure that you are using 8.982.1 drivers or higher for AMD cards.
If you encounter any issues, please contact Customer Support directly through the Support Portal at the following address: https://support.foundry.com.
Tested Workstation Hardware
| HP | Dell | Lenovo |
|---|---|---|
| HP XW6600 HP Z600 HP Z620 HP Z640 HP Z8 G4 Workstation |
Dell Precision 7820 | Lenovo P620 |
Tested GPU Hardware
| Vendor | Tested GPUs |
|---|---|
| AMD Prosumer Graphics Cards | Radeon Pro 560 Radeon Pro 5500M Radeon Pro W6700 Radeon Pro W6800 |
| NVIDIA Prosumer Graphics Cards | NVIDIA Geforce GTX 1070 NVIDIA Geforce GTX 1080 NVIDIA Geforce GTX 1080 Ti NVIDIA Geforce RTX A2000 NVIDIA Geforce RTX A3000 Mobile NVIDIA Geforce RTX A4000 NVIDIA Geforce RTX 3080 NVIDIA Geforce RTX 3080 Ti Mobile NVIDIA Geforce RTX 3090 NVIDIA Geforce RTX 4090 |
| NVIDIA Enterprise Graphics Cards | NVIDIA Quadro P2000 NVIDIA Quadro P3200 NVIDIA Quadro P4000 NVIDIA Quadro P5000 NVIDIA Quadro RTX 8000 |