MATRICXPRO

Official User Guide

Smart materials · layered imperfections · paint masks · decals · trim sheets · version 2.0.0

MatricX PRO 2.0
BLENDER ADD-ON PREMIUM v2.0.0

CONTENTS

What's Inside

SECTION 01

What's New in 2.0

Version 2.0 is a rebuild rather than an update. If you are coming from 1.6, these are the changes that affect how you actually work.

Paint masks — the headline feature

Every imperfection layer can now be painted directly onto the mesh. Instead of a procedural mask covering the whole surface, you brush in exactly where rust, dirt, or scratches appear. See Section 13.

A curated material collection

25 authored materials ship inside the add-on — 13 metals, 4 plastics, 3 woods, 3 fabrics and 2 glasses. 17 of them arrive with a complete, hand-built imperfection stack already layered on.

Materials keep their own values

Each material now loads its own authored base colour and roughness. Switching from a red painted metal to Default Metal no longer carries the red across. A Reset Base Material button restores a material's shipped values if you overshoot.

External decal and trim sheet libraries

You can add your own folders of decals or trim sheets, and remove them again, from either the N-panel or Preferences. Trim sheets are not included with MatricX — this is how you supply them.

Everything else

Upgrading from 1.6: remove the old add-on and restart Blender before installing 2.0. MatricX 2.0 detects an older copy and disables it, migrating your saved asset-pack path, favourites and custom material catalog — but a restart is what guarantees old Python modules and keymaps are not left in memory.

SECTION 02

Introduction

MatricX PRO turns a clean model into a used one. It is built for hard-surface detailing, look development, game-asset presentation, and concept work — anywhere a surface needs a history rather than a flat shader.

Before and after MatricX
The same helmet before and after. The right side is one base material plus a handful of restrained imperfection layers — no texture painting, no UV work.

The add-on is organised into three workspaces:

Most controls update the active material immediately. Materials shared between objects stay linked until you explicitly make a copy.

The core idea: several restrained layers read as more realistic than one strong layer. A surface that has been touched, wiped, knocked and left outdoors has many faint stories on it, not one loud one.

SECTION 03

Installation and Asset Pack

The three downloads

FileWhat it is
MatricX_PRO_2.0.0_Addon.zipThe add-on, for Blender's classic Add-ons installer.
MatricX_PRO_2.0.0_Blender_Extension.zipThe same add-on packaged as a Blender Extension.
MatricX_Assets_2.0.0.zipRuntime assets: materials, textures and the official decal library.

Install one code package, not both. Never enable the legacy add-on and the extension at the same time.

Installing the add-on

As a classic add-on:

  1. Edit → Preferences → Add-ons.
  2. Open the dropdown menu and choose Install from Disk.
  3. Select MatricX_PRO_2.0.0_Addon.zip.
  4. Enable MatricX PRO if Blender does not enable it for you.

As an extension:

  1. Edit → Preferences → Get Extensions.
  2. Top-right dropdown → Install from Disk.
  3. Select MatricX_PRO_2.0.0_Blender_Extension.zip.

Then press N in the 3D Viewport and open the MatricX PRO tab.

Installing the asset pack

Extract MatricX_Assets_2.0.0.zip anywhere you like — a fast local drive is ideal. Placing it beside the add-on folder lets MatricX find it automatically.

MatricX_Assets_2.0.0/ Material/ Blender material files MX_Texture/ runtime and imperfection textures Decals/MX_Decals/ the official MatricX decal library asset_manifest.json ASSET_LICENSE.txt

If MatricX does not find it, open the MatricX panel, expand Runtime Assets and click Locate Asset Pack. You may select the pack folder, its parent, or one of its subfolders. The path is stored outside the add-on, so reinstalling — or switching between the add-on and extension packages — does not lose it.

Studio deployments: set the MATRICX_ASSET_ROOT environment variable to a shared asset-pack location and every workstation picks it up.

Material preview thumbnails are bundled inside the add-on, so the browser stays visual even before the asset pack is connected.

SECTION 04

Interface Overview

Press N in the 3D Viewport and select the MatricX PRO tab. Three workspace buttons sit at the top of the panel.

Materials

Material assignment, base surface controls, Material Looks, and the Imperfection Studio.

Decals

Two modes: Decals for individual placed objects, Trims for trim sheet regions applied to selected faces.

Viewport

Fast modelling colours, quick swatches, and collection helpers.

The panel follows your selection

Select an object carrying a MatricX material and the panel loads its settings, including the full imperfection stack. Select a decal and the panel switches to that decal's placement, opacity, projection and colour controls. Controls that do not apply to the current selection are hidden or greyed out rather than left to mislead you.

SECTION 05

Materials Workspace

The basic loop

  1. Select one or more mesh objects.
  2. Open the Materials workspace.
  3. Pick a Material category.
  4. Choose a preset from the dropdown, or browse thumbnails in the Material Collection.
  5. Adjust the surface controls.
  6. Click Apply Material.

Categories

CategoryNotes
MetalDefault Metal, Perl Black, and the 13-material metal collection.
PlasticDefault Plastic, Perl Black Plastic, and 4 authored plastics.
WoodDefault, Dark, Light, Dirt Wood, and 3 shiny woods.
Fabric3 procedural fabrics. These sample through the mesh UV map.
GlassCustom glass with smudge and crack controls, plus 2 authored glasses.
Rubber & LeatherRubber and leather variants.
Special MatCar paint, camo, gradients, and other specialised shaders.
EmissionGlow surfaces with strength control.
Custom MaterialYour own imported PBR texture sets. See Section 14.

The material browser

The thumbnail browser supports text search, favourites, recents, adjustable thumbnail size, and previous/next navigation. Use the browser when you are exploring; use the category dropdown when you already know what you want.

SECTION 06

The 2.0 Material Collection

25 authored materials ship inside the add-on itself. Most arrive with a complete imperfection stack already built — apply one and it is finished, not a starting point.

Metal collection
Metal — 15 entries. Default Metal and Perl Black are clean bases you build on. The other 13 ship with authored imperfection stacks: Black Metal 1–4, Damaged Steel 1–2, Dirty Green Metal, Painted Metal 1–4, and Rust Metal 1–2.
Plastic collection
Plastic. Black, Matte, and Shiny Plastic 1–2, all with authored stacks.
Wood collection
Wood. Default, Dark, Light and Dirt Wood, plus three shiny woods.
Fabric collection
Fabric. Three procedural weaves. These need a UV map — MatricX warns you if the mesh has none.
Glass collection
Glass. Custom glass with its own smudge and crack sliders, plus chromatic and iridescent variants.
Rubber and leather collection
Rubber & Leather. Rubber accepts weathering layers; leather is kept deliberately restrained.
Special materials collection
Special Mat. Car paint, camo patterns, gradients and other specialised shaders with their own controls.

Authored stacks are protected, not frozen. On the 17 materials that ship with layers, you cannot add, delete or rename layers — but you can reorder them, tune every setting, and press Restore Authored Stack to put the original recipe back.

SECTION 07

Base Surface Controls and Reset

Under Material Setup you get the controls that define the surface underneath the imperfections — typically Base Color and Roughness, plus Bevel on the default materials.

Every material brings its own values

When you apply a material, MatricX reads that material's authored colour and roughness and loads them into the panel. Applying Painted Metal 2 gives you its red; switching to Default Metal gives you Default Metal's grey. Values no longer bleed from one material to the next.

Grouped materials

Some materials — the plastics, for example — expose their surface through a Material Group Controls box instead, with Base Color, Metallic, Roughness and Coat taken straight from the authored shader.

New in 2.0 — Reset Base Material. The ↺ button on the Material Setup header restores that material's shipped colour, roughness and surface values. It does not touch your imperfection layers; Restore Authored Stack is the equivalent for those.

Bevel

Default Metal and Default Plastic expose a Bevel radius that rounds shading on hard edges — this is what makes edge wear catch light convincingly. The authored collection materials do not expose it, because they carry their own hand-built bevel and bump work that a global bevel would overwrite.

SECTION 08

Material Looks

A Material Look is a complete saved setup — base material, every surface value, and the whole imperfection stack with its order, names, opacities and per-layer settings. Build a look once, reuse it on every prop in a set.

  1. Build a material on a mesh and tune its imperfections.
  2. Expand My Material Looks.
  3. Save the current look with a descriptive name.
  4. Apply it to any other mesh later.

Looks are stored in your Blender user configuration, so they follow you between projects. You can export a look as a .json file to share it, and import one you have been given.

Name them for the result, not the recipe: "Worn Red Painted Metal", "Subtle Dirty Rubber", "Rusted Industrial Panel". You will be scanning this list at speed six months from now.

SECTION 09

Applying, Sharing, and Make Unique

Apply Material assigns the current MatricX material to the active mesh and leaves every setting editable in the panel.

Linked materials

If one material is used by several objects, editing it updates all of them — base colour, roughness, the imperfection stack, layer order, every per-layer value. This is usually what you want for a set of matching parts.

Make Unique

Use it when one object should stop following the others. Make Unique copies the material, separates its nested MatricX node groups, preserves the current panel state, and rebinds mapping compensation to the selected object. After this, edits no longer affect the originals.

Separate Material

The equivalent action for viewport materials — the mesh keeps the same visible look but stops sharing the datablock.

SECTION 10

Live Mapping Compensation

Procedural and projected textures stretch when an object has unapplied scale, and edge effects drift when rotation is unapplied. MatricX can correct both live, without you applying transforms.

Live Scale Compensation

Keeps texture scale visually constant while you scale the object. Useful for procedural metals, wood and rubber patterns, box-projected imperfections, and anything you are still actively modelling.

Live Rotation Compensation

Keeps edge-based effects aligned when the object is rotated without applying rotation.

Both appear only when the selected mesh carries a compatible material.

Turn them off when you deliberately want mapping to stretch with the object, when a custom material uses its own coordinates, or when you are about to apply transforms and want standard Blender behaviour.

SECTION 11

Imperfection Studio

The Imperfection Studio is where a material stops looking new. Layers stack, reorder, and composite over one another — you are building a history, not applying a texture.

Imperfection Studio panel
The Layer Stack on an authored preset. Texture / Mask switches the viewport between the finished material and an isolated greyscale view of the active layer's mask. Auto is the anti-tiling mode. The lock notice shows this is an authored stack — layers are fixed, but every value stays editable and Restore Authored Stack undoes your changes.

Adding a layer

  1. Apply a material that supports imperfections.
  2. Click Add Layer and choose a type.
  3. Select it in the list to edit its settings.

The arrows to the right of the list reorder layers. Duplicate copies the selected layer with its own independent settings, and the bin removes it.

Layer controls

Every layer has a name, an enable checkbox, and an Opacity slider — shown as the percentage in the list. Beyond that, each type exposes its own colour, scale, amount and surface-response controls, with the less-used ones tucked under Advanced.

A disabled layer keeps its settings. Unticking the checkbox hides the layer from the material without discarding your tuning, which makes it a good A/B switch.

Mask preview

Switch the view mode to Mask to see the active layer's mask alone, in greyscale — white is where the imperfection appears. This is the fastest way to understand what a scale or amount slider is actually doing before you commit to it.

Anti-tiling

Large surfaces reveal the repeat in any texture. The tiling control blends phase-shifted samples to break up the lattice.

ModeBehaviour
AutoMatches object size — off below 12 m, 2 samples to 30 m, 3 samples above. The default.
OffOne sample. Cheapest, and correct for anything hand-scaled.
Fast2 phase-shifted samples. Removes the lattice at moderate cost.
High3 samples. Most varied, for very large surfaces.

Reset a layer

Each layer has a ↺ reset that restores its type's defaults. MatricX asks for confirmation first, because it discards your manual tuning for that layer. It does not touch other layers or the base material.

SECTION 12

The 15 Imperfection Types

Imperfection types menu
The Add Layer menu, grouped by what each effect actually does. Only the types the current material supports are listed.

Tone & Finish

TypeWhat it does
Gradient LinearBlends a directional colour gradient across the surface. A tonal foundation rather than damage — MatricX always evaluates it beneath the physical layers.
Bump TextureFine surface grain and raised flakes, so the finish is not perfectly smooth. Writes the surface normal in place without adding a second shader.

Edges & Damage

TypeWhat it does
Edge WearWears the paint or finish off exposed corners and edges. The randomness controls keep it from reading as a perfectly even outline.
Edge DamageChips and breaks up edges where they take impacts. Randomness varies the mask rather than just brightening it.
Chip DamagedDeep chips cut into the surface, with real crater depth rather than painted-on marks.

Scratches & Marks

TypeWhat it does
ScratchCuts grooves into the surface with depth and self-shadowing. The Depth slider controls how dark the groove floor goes — that shadowing is what makes it read as cut rather than drawn.
Scratch PaintScratches that cut through paint to the material beneath. Use Amount for coverage and Detail Amount to break the strokes up along their length.
FingerprintsSparse oily fingerprint marks. Best at low opacity on gloss, glass and painted surfaces.
Water StainsDried water marks and mineral staining — soft, cloudy residue.

Dirt & Weathering

TypeWhat it does
DirtLoose particulate settling into recesses and cavities.
Directional DirtDirt washed along one axis, as run-off or airflow leaves it. Use it for streaks and downward grime.
GrimeThin handled residue clinging to open, air-washed surfaces — handles, rails, panels people touch.
GrungeGeneral-purpose grunge overlay with real carved depth.
RustCorrosion that eats into corners, seams and cavities. Keep the opacity restrained and pair it with edge damage.
LeakingVertical leak streaks and wet residue running down from seams and fixings.

Which materials support which types

Not every imperfection makes sense on every surface, so MatricX only offers the ones that do. The Add Layer menu is filtered accordingly.

MaterialAvailable imperfections
MetalAll 15, including Rust.
PlasticAll except Rust.
WoodGradient Linear, Scratch, Chip Damaged.
RubberEdge Wear, Dirt, Grime, Grunge, Scratch Paint, Water Stains.
LeatherGradient Linear, Scratch.
Special MatCamo: Dirt. Gradients: all except Gradient Linear.
GlassNone — glass uses its own Smudge and Crack controls in Material Setup.
Custom MaterialNone — your imported maps are the complete surface definition.

SECTION 13

Paint Masks

Procedural masks decide where an imperfection goes by rule. A paint mask lets you decide by hand — brush rust onto the one corner that should have it, wipe grime off the area a hand would have polished.

Painting an imperfection mask
Painting a Scratch layer directly onto the mesh. Blender is in Vertex Paint mode with the brush already configured; the MatricX panel stays available on the right so you can adjust the layer while you work. Finish Painting returns you to the finished material.

Painting a layer

  1. Select the imperfection layer you want to control.
  2. Expand Paint Mask and click Start Painting.
  3. MatricX switches to Vertex Paint and sets up a greyscale brush for you.
  4. Paint on the mesh. White reveals, black hides.
  5. Click Finish Painting when done.

Paint Behavior

Paint In is the default: the mask starts empty and white brushes the imperfection in. Turn it off to invert the meaning — the imperfection covers everything and black erases it. Choose whichever means less painting for the result you want.

Strength

Scales how much the painted mask affects the layer overall, without repainting anything. Pull it down to soften a mask that came out too strong.

Paint masks are vertex-based. Detail is limited by how dense your mesh is — a default cube has eight vertices and cannot hold a mask at all. MatricX warns you when a mesh is too coarse. Subdivide if you need finer control.

Mask Utilities

Fill the mask solid, clear it, or remove it entirely and return the layer to its procedural mask. Removing a paint mask does not remove the layer.

Multiple objects sharing a material: the mask lives on each mesh, so an object without one shows the layer at full procedural coverage. MatricX warns you when this applies and offers to add a mask to every object using that material.

SECTION 14

Custom PBR Materials

Custom Material imports an external texture set and turns it into a reusable MatricX entry.

  1. Set the category to Custom Material.
  2. Click + and select one or more texture files from the set's folder.
  3. MatricX scans the folder and identifies the maps by name.
  4. Check the detected entry, then click Apply Custom Material.

Maps detected

Base Color, Normal, Roughness, Metallic, Ambient Occlusion, packed ORM, Height, Emission, Opacity.

Controls

Uniform scale, rotation, offset, UV map choice, treat-as-metal, ORM mode, normal strength, displacement scale, alpha mode and clip threshold.

Entries are stored in add-on preferences and stay available across projects.

Imperfection layers are not offered on custom materials. Your authored maps are the complete surface definition — MatricX leaves them alone rather than compositing over work you already did.

SECTION 15

Decals Workspace

Decal panel
The Decals panel. Decal Tool switches between Decals and Trims. The + and ✕ on the Decal Library header add and remove your own libraries. Scene Decals tracks everything placed in the current file.

Placing a decal

  1. Pick a decal thumbnail.
  2. Click Place Decal.
  3. Move the cursor over a mesh surface — the decal aligns to the surface normal.
  4. Confirm.
InputAction
LMB / SpaceConfirm placement
RMB / EscCancel
WheelRotate
Ctrl + WheelFine rotate
Shift + WheelScale
MMBOrbit the viewport

The adjustment pie

Decal pie menu
Press Ctrl+Shift+D over a selected decal. The pie is built for speed in the viewport; the N-panel remains the place for browsing and exact values.

Key actions

SECTION 16

Adding Your Own Decal Libraries

MatricX ships one official decal library. You can add as many of your own as you like, from the N-panel or from Preferences.

Adding a library

  1. Click + on the Decal Library header, or Add Library in Preferences.
  2. Select the folder that contains the decal subfolders.
  3. Optionally give it a name — otherwise the folder name is used.

MatricX validates the folder before accepting it and tells you if there is nothing usable inside.

Expected decal folder layout

My Decal Pack/ 001_some_decal/ decal.blend required decal.png thumbnail, recommended uuid optional, gives the decal a stable identity 002_another_decal/ decal.blend decal.png

Removing a library

Click ✕ on the library header to remove the one you are browsing, or use the ✕ beside any entry in Preferences. Only the reference is removed — nothing is deleted from disk. The bundled MatricX library cannot be removed.

Duplicates are filtered automatically. If the same decal appears in two libraries, MatricX shows it once. Identity comes from the uuid file when present, so give your own decals unique uuids if you want copies treated as distinct.

Library references live in your Blender user configuration, not inside the add-on, so they survive reinstalling MatricX and are available in every file.

SECTION 17

Trim Sheets

MatricX does not ship trim sheets. The Trims tool is fully functional, but the sheets themselves are yours to supply — add a folder of your own and it appears here.

Trim sheet workflow
Trims mode with an external sheet library loaded. Trims apply to selected faces in Edit Mode — MatricX assigns the sheet material and fits those faces' UVs into the chosen region, rather than placing a floating object.

Applying a trim

  1. Enter Edit Mode and select the faces that should receive the trim.
  2. Open Decals → Trims and pick a sheet, then a trim region.
  3. Choose the UV Fit and material options.
  4. Click Apply Trim to Selected Faces.
  5. Refine with Live Trim Adjustment if needed.

UV Fit

OptionBehaviour
AutomaticPicks the sensible fit for the selection. Start here.
FillStretches the selection to fill the trim region. Fast for panel strips.
PreserveKeeps more of the existing UV proportions. Use when face proportions matter.
Fit Each UV IslandFits each island separately — good for repeated strips, wrong for one continuous area.
Rotation / Flip U / Flip VCorrect orientation without re-selecting.
Edge PaddingInsets the UVs slightly to stop neighbouring regions bleeding in.

Trim material

Trimsheet assigns the sheet's own material. Mesh Materials preserves each face's existing material and applies only the UV placement — use it when the trim geometry is right but the surface should keep matching the rest of the model. Surface Detail scales the bump contribution.

Live Trim Adjustment

Move, Rotate and Scale refine the placement after applying. Move adjusts location only — scaling is a separate action, so vertical cursor movement will not resize by accident. The adjustment pie is Ctrl+Shift+T in Edit Mode.

Trim sheet folder format

A trim sheet folder is identified by a data.json describing the atlas and its regions.

My Trim Pack/ Panel Sheet 01/ data.json (texture maps referenced by data.json)

The data.json needs a resolution pair and a trims list. Each trim needs coords and dimensions in 0–1 UV space:

{ "name": "Panel Sheet 01", "uuid": "…", "resolution": [2048, 2048], "trims": [ { "name": "Panel A", "coords": [0.0, 0.0], "dimensions": [1.0, 0.25] }, { "name": "Panel B", "coords": [0.0, 0.25], "dimensions": [1.0, 0.25] } ], "maps": { } }

Decal and trim libraries are kept apart on purpose. MatricX detects which kind a folder holds and shows it only in the matching mode, so a full trim sheet can never be placed as an ordinary decal by accident.

SECTION 18

Viewport Workspace

Viewport workspace
Built for blockout and modelling — fast, disposable colour that keeps parts readable before any real look development starts.

Live Viewport Color

Set Color, Metallic and Roughness, then Apply to Selection. Once assigned, the controls edit that material live, and selecting another object with a MatricX viewport material syncs the panel to its values.

Quick Swatches

Clay, Dark, Light, Rubber Black, Metal Gray, Accent Red, Accent Blue and Glass Cyan. Use Material View switches your viewports to Material Preview so the colours actually show.

Helpers

Viewport materials are protected. MatricX will not overwrite a production material with a viewport colour — it tells you how many selected objects it skipped and why.

SECTION 19

Preferences and Runtime Assets

Edit → Preferences → Add-ons → MatricX PRO.

Runtime asset status

With a valid pack, MatricX can load material files, runtime and imperfection textures, and the official decal library. Without it, the browser still shows thumbnails — those ship in the add-on — but applying a material will fail until the pack is located.

Cross-platform paths

MatricX 2.0 resolves paths without platform-specific separators and tolerates case differences, so projects move between Windows, macOS and Linux. For shared setups, use the locator or MATRICX_ASSET_ROOT rather than hard-coding paths into project files.

SECTION 20

Recommended Workflows

Fast hard-surface material

  1. Apply Default Metal or Default Plastic.
  2. Enable live scale and rotation compensation if the object still has unapplied transforms.
  3. Set base colour, roughness and bevel.
  4. Add subtle Edge Wear.
  5. Add low-opacity Dirt or Directional Dirt.
  6. Add Scratch, Fingerprints or Water Stains only where they earn their place.
  7. Save it as a Material Look if you will reuse it.

Start from the collection instead

  1. Apply one of the 17 authored materials — the stack is already built.
  2. Tune Base Color and Roughness to your asset.
  3. Adjust individual layer opacities to taste.
  4. Press Restore Authored Stack if you want the original recipe back.

Rusted metal

  1. Apply a metal material and add Rust.
  2. Tune its sharpness and surface detail; keep opacity restrained.
  3. Add Edge Damage for chipped areas.
  4. Add Dirt at low opacity to unify everything.
  5. Paint the rust mask so corrosion collects where water would actually sit.

Hand-placed wear with paint masks

  1. Build the layer and get its procedural look right first.
  2. Start painting, and set Paint Behavior to whichever direction means less brushing.
  3. Use Mask view to check coverage as you go.
  4. Finish Painting, then lower Strength if the result is too strong.

Modelling blockout

  1. Open Viewport and click Use Material View.
  2. Assign quick swatches by part group, or use Random Viewport Color.
  3. Organise with the collection helpers.

SECTION 21

Troubleshooting

The browser shows thumbnails, but applying a material fails

Thumbnails ship in the add-on; the material files are in the asset pack. Open Runtime Assets and click Locate Asset Pack.

"No trim sheets added yet"

Expected. MatricX does not include trim sheets — click Add Trim Sheet Library and point it at a folder of your own. Locating the asset pack will not help; there are none in it.

An imperfection covers far too much

Lower the layer Opacity first, then the type's Amount control. Switch to Mask view to see exactly what the mask is doing.

The Add Layer menu is missing a type

The list is filtered to what the current material supports — see the table in Section 12. Glass and Custom Material offer none by design.

I cannot add or delete layers on a collection material

Authored stacks have fixed contents. You can still reorder them, edit every value, and press Restore Authored Stack to undo your changes.

Painting says another layer is being painted

A different layer owns the paint session. Click Finish That Session and start again on the layer you want.

My paint mask is blocky

Masks are vertex-based, so resolution follows mesh density. Subdivide the mesh where you need finer control.

A decal appears twice

Refresh libraries and check the same folder is not added twice in Preferences. MatricX de-duplicates by uuid, so decals copied without unique uuids may look repeated.

A trim applies to more than the faces I selected

Confirm you are in Edit Mode with only the intended faces selected, and check Fit Each UV Island matches your intent.

A pie shortcut conflicts with another add-on

Preferences → Keymap, search for matricx.show_decal_pie or matricx.show_trim_pie, and rebind or disable.

A fabric material looks flat and wrong

Fabrics sample through the UV map. Without one the weave collapses to a single sampled point — MatricX warns you and offers to add a UV map.

SECTION 22

Support

Use the official Eidos Edge links in MatricX Preferences for support, updates and demos.

When reporting a problem, include:

Thank you for using MatricX PRO.

— Prasanth · Eidos Edge · MatricX PRO Developer