Open a Layerpaint 3MF in PrusaSlicer for MMU3 — match slots without repainting

PrusaSlicer's multi-material painting is solid. Reassigning a painted model to different filament slots after import is clunky. Fix it on the Layerpaint side at export, or in PrusaSlicer's filament panel when you load the file.

A small multi-color FDM 3D-printed low-poly retro pickup truck in matte burgundy with cream cab roof and brass-gold wheel hubs on cream paper

TL;DR: PrusaSlicer has no one-click 'reassign painted slots' dialog, so a Layerpaint palette in a different order than your MMU3 spools lands colors on the wrong tools. Two fixes: build the palette in MMU slot order up front, or change which filament loads each tool in the slicer. Neither requires repainting.

Why do my painted colors land on the wrong MMU3 tools?

Layerpaint exports a Standard 3MF that PrusaSlicer reads natively for MMU2S, MMU3, and the XL — but slot mapping is by order, not by hex. Palette slot 1 becomes tool 1, slot 2 becomes tool 2, and so on. If your physical spools are loaded in a different order than your palette, the colors land on the wrong tools. Control the order and you control where every painted face prints.

You painted a model in Layerpaint, your physical MMU3 spools are loaded in a different order than your palette, and PrusaSlicer doesn't have a one-click "reassign painted slots" dialog. The result is colors landing on the wrong tools at print time.

This isn't new. The PrusaSlicer team has an open feature request for it (GitHub issue #14903), and the long Prusa forum threads about reordering MMU assignments on a painted model are mostly people working around the same gap. Repainting is the heavy-hammer answer. There are two lighter ones.

What the Standard 3MF actually carries

Layerpaint exports a Standard 3MF with a <m:colorgroup> entry per palette chip and a tool index per triangle. PrusaSlicer reads that natively for MMU2S, MMU3, and the Original Prusa XL toolchanger. There's no proprietary metadata in the file — slot 1 in your palette becomes tool 1 in PrusaSlicer, slot 2 becomes tool 2, and so on.

That's the lever. Slot mapping is by order, not by hex. If you control the order, you control where every painted face lands.

Fix one — build the palette in MMU slot order from the start

Before you click a single face in Layerpaint, decide which physical slot each filament will load into on your MMU. Then add chips in that order:

  1. Open layerpaint.app/app and load your STL, OBJ, or 3MF.
  2. Open the filament library (click an empty chip). Add your slot 1 filament first. Bambu, Polymaker, Prusament, Overture, Sunlu, eSUN, Elegoo, Creality, Hatchbox, and a few Citadel / Vallejo references are all in there.
  3. Add slot 2, slot 3, slot 4. For a four-tool MMU2S or MMU3 setup, that's the whole palette.
  4. Paint as normal. Region tool for crease-bounded sections, brush for the in-between, wand for flat panels, crease tool when you need a boundary the mesh is missing.
  5. Click Export 3MF. Drop the file onto PrusaSlicer.

If your palette order already matches your spools, you'll see the right color on the right tool with zero remapping. This is the path of least resistance, and it costs you nothing if you plan the palette first.

Heads up

Layerpaint doesn't have drag-to-reorder for palette chips. Removing a chip and re-adding it elsewhere unpaints every face that used the removed slot. If you want to reorder mid-paint, use the PrusaSlicer-side fix below instead.

Fix two — change loaded filaments in PrusaSlicer to match the file

If the 3MF is already painted and the order is wrong, don't touch the painting. Change the loaded filament in PrusaSlicer:

  1. Drag the Layerpaint 3MF onto an empty PrusaSlicer plate. Accept the multi-material import.
  2. Look at the filament panel on the right side. Each tool slot has a dropdown of loaded filaments.
  3. Pick the filament in each slot that matches what the model expects — what your palette in Layerpaint had for that slot.
  4. Now load your physical spools on the MMU to match the slots you just set in the slicer.

You haven't changed which tool prints which triangle. You've changed which filament sits in which tool. The print job is the same from the printer's point of view, and purge volumes recompute automatically for the new color pairs.

What happens on MMU2S, MMU3, and XL

The 3MF Materials Extension carries up to as many color groups as you painted with. PrusaSlicer maps each one to a tool:

If you painted more colors than your MMU has tools, PrusaSlicer marks the extras as unassigned and refuses to slice. Back to Layerpaint, merge two close palette colors with the eyedropper (I picks the chip under the cursor) and re-export.

One thing to leave alone

PrusaSlicer's Multi-material painting tool will happily let you repaint a face on top of an imported 3MF. Don't, unless you actually want to override a single region. Edits made there are saved into the project, not back into the original 3MF, and they diverge from the Layerpaint source you can re-export later. Treat the imported file as read-only for painting and use the filament-slot dropdowns for everything else.

Common questions

Does this work for OrcaSlicer and Bambu Studio too?

Yes — same file. There are dedicated walk-throughs for OrcaSlicer and Bambu Studio's Standard 3MF Color Parsing dialog. Bambu Studio has an explicit remap dialog at import; PrusaSlicer doesn't, which is why the filament-panel swap matters.

What if my MMU3 setup has fewer spools than my palette?

PrusaSlicer won't slice with unfilled tools. Either drop a chip in Layerpaint and re-export, or use the eyedropper to merge two close colors before exporting. Both keep your palette inside MMU3's five-slot ceiling.

Can I save my paint job and come back later?

Save a .layerpaint project file with Ctrl+S. It's a gzipped JSON with the welded mesh and every palette, boundary, and per-face assignment. Reopen it any time and re-export to 3MF when your spools change.

Try it now

Open the painter, build a palette in your MMU slot order, paint, and export. The 3MF drops into PrusaSlicer for MMU3, MMU2S, or the XL toolchanger with no remap dance. One-time $19.97 unlocks the export — no subscription, no upload, your mesh stays on your device.