Stylized Color Swapper & Material Optimizer

Technical Guide

The Color Swapper is a tool that lives inside Unity's editor and lets you change the colors and look of your 3D models without leaving Unity or opening an image-editing program. You pick a model, paint new colors onto it in a 3D preview window, and save the result as a ready-to-use version, all in a few clicks, with no separate image files to manage.

Runs efficiently: Vertex Bake & Pack mode eliminates color textures entirely, letting you share 1 master material across virtually unlimited differently-colored props, and with Zones driving the variation, thousands of those copies can still batch together. Texture Coloring mode swaps in an ultra-lightweight micro-palette instead of the original texture sheet, cutting VRAM usage by up to 96%.

Quick Start

Want to jump straight in? Here's the fastest path from install to your first painted model:

  1. Open the tool: From Unity's menu bar, go to Tools > DPT Games > Stylized Color Swapper.
  2. Set your target: Drag the GameObject you want to recolor (from your Scene Hierarchy or Project window) into the Target Object field at the top of the window.
  3. Start painting: The tool scans the model automatically and drops you straight into the 3D preview. Pick a swatch, choose a color, and click or drag directly on the model to paint.

How It Works, Step by Step

The tool never changes your original files by accident, it always works on a copy, and nothing is saved until you click a save button. Here's the general process:

  1. Pick a model: Drag the object or model you want to recolor into the tool's window.
  2. Scan it: The tool looks at the model's current colors and sorts its surface into a list of color groups (called "swatches") that you can edit one at a time, or several at once.
  3. Paint it: In the 3D preview window, you paint new colors, blend smooth color transitions, apply realistic material looks (like wood or metal), round off sharp edges, add a glow, or set up gentle wind movement, all by clicking and dragging directly on the model.
  4. Save it: Once you're happy with it, the tool saves your changes as a new, game-ready version of the model.

Scanning Your Model & Choosing How to Save

Before you can paint, the tool needs to read your model's current colors. There are a few ways it can do that, and a couple of ways it can save the result.

How the Tool Reads Your Model's Colors

Option What It Does & When to Use It
Texture Palette (Default) Looks at the color image already applied to the model and groups its surface by matching colors. This is the right choice for most stylized models (like Synty or Polygon-style packs).
Vertex Colors Reads colors that are already stored directly on the model's surface rather than in an image. Use this if the model was made in something like Blender or ZBrush, or if you're reopening a model you already saved with this tool and want to keep editing it.
Material Colors For a model that has no image and no painted colors, just a single flat color chosen from a color wheel. Use this mode to read that flat color instead.

Two extra options fine-tune how scanning works: Combine Similar Colors (Alt+C) merges colors that are nearly identical into a single group, so you're not stuck editing near-duplicates separately. Split Disconnected Islands (Alt+I) keeps physically separate pieces that happen to share the same color (like two arms) as independently editable groups, instead of lumping them together. When you save, any groups that end up with identical colors are automatically merged back together to keep the result efficient.

Extra Accuracy Settings

A few more settings control how carefully the tool reads and rebuilds your model:

How the Result Gets Saved

Option What You Get
Texture Coloring The traditional approach, recolors your model and creates a brand-new image file, just like the original had. Best for older projects or mobile games that need to keep things lightweight.
Vertex Bake & Pack (Recommended) Stores your colors and material settings (Metallic, Smoothness, AO) directly on the model itself instead of in a separate image. This skips images entirely and unlocks extra features like smooth color gradients, live wind animation, Smooth Normals, and zones (covered further below).

Ways to Select Parts of Your Model

The tool gives you three selection scopes, plus a quick shortcut. Switch between them using the toolbar buttons or by pressing I:

Face

Selects one small triangle at a time, for pinpoint precision. Great for tiny details like a trim line or a single glowing rune.

Island

Selects a whole connected patch of the model that shares one continuous area on its image (a "UV island"). Handy for recoloring a clearly defined region in one click.

Shell

Selects an entire physically separate part of the model, like a whole armor plate, a sword, or a clump of hair, in a single click.

Face Extract (Q)

Instantly splits off just the surface under your cursor into its own separately-editable piece, without needing to split the whole model first.


Smooth Color Gradients & Gentle Wind Sway

Only available in Vertex Bake & Pack mode (the recommended option). The Gradient Paint tool (G) lets you click and drag across the model to smoothly blend from one color or setting to another, instead of applying one flat value everywhere.

Smooth Gradients

Click to set a starting point, then drag to set the direction and length of the blend. This works accurately no matter how big or small the model is.

Painting Wind Movement

Switch to the Wind setting and drag from the base of a plant or prop to its tip to set up natural, gradual sway. The base stays still while the tip sways the most.


Vertex Bake & Pack: Why Use It

Vertex Bake & Pack stores your colors and material settings directly on the mesh, so it needs no texture at all. That means you can run an entire scene of visually distinct props off as few as 1 master material, and when you're using Zones to drive the color variation, even thousands of those differently-colored copies can still batch together. It's also the only mode that supports Gradient Paint, so you can blend colors and settings smoothly across the model instead of applying one flat value everywhere.

A note on Ambient Occlusion (AO) in crevices: Textured AO doesn't transfer well from an image onto a model directly, an image usually holds far more detail than the model has vertices to represent it. Because of this, when you scan colors from an image but save into Vertex Bake & Pack, AO starts out flat at 1.0 (no extra occlusion) rather than guessing at something inaccurate. You can paint it back in by hand afterward, or use the Raycast AO Baker below to calculate a genuine result.
Painted AO shapes stylized shadows, not just looks: If your material has the "Stylized Lighting" option turned on, any AO you paint or bake actively feeds into how shadows appear. That gives you deliberate control over stylized shadowing, for example, deepening AO around eye sockets or armor recesses to place a shadow exactly where you want one, rather than it being purely decorative darkening.

The 3D Preview Window

Instead of using Unity's normal scene view, the tool opens its own dedicated 3D preview window. This lets you paint a model without needing to place it in your actual game scene first.

Before / After

The window shows your edited version by default. Hold O to briefly peek at the original, unedited version, let go to go back to your edit.

Compare in Your Scene

Press B to temporarily place preview copies directly into your actual game scene, with real lighting, so you can compare them side by side. They clean themselves up automatically when you close the tool.

Auto-Rotate

Press T (or Space) to slowly spin the model, so you can check how it looks from every angle.

Realistic Lighting

The preview reflects your project's actual lighting setup in real time, so Metallic and Smoothness settings look accurate.

Hide the Preview

Press V to hide the 3D window entirely and free up space for your list of color groups.

Match Your Camera

The Sync Scene and Sync Game toggle buttons let you line up your Scene or Game view camera with the tool's preview camera.

Marquee Select

Hold Shift and drag a box around anything in the preview window to select everything inside it at once, instead of clicking each piece one by one.

Live Wind Preview

Turn on "Simulate Wind" while viewing the Wind setting to watch plants and props sway in real time, right in the preview window.

Toolbar & Shortcut Reference

Once you've scanned a model, the toolbar underneath the preview window gives you these tools. Most shortcuts are turned off while you're typing in a text box (like the save-path field).

Tool Shortcut What It Does
Selection Scope I Cycles between Face (single triangle), Island (a connected UV patch), and Shell (a whole separate piece).
Face Extract Q Splits off just the surface under your cursor into its own piece, without splitting the rest of the model.
Paint Mode P Turns on click-and-drag painting, applies your chosen color or setting wherever you drag. Holding Shift also paints, even with this turned off.
Gradient Paint G Only in Vertex Bake & Pack mode. Click and drag to blend colors or settings smoothly.
Eraser Mode E Only while Paint Mode is turned on. Click to reset a surface back to its original color and default settings.
Hover Select Shift+Q Selects whatever's under your cursor just by hovering, no click needed, and it won't accidentally paint. Hold Ctrl+Alt+Q to add or remove pieces from your selection this way.
Pick Color Ctrl+X Click anywhere on the model to copy its color into your brush, like an eyedropper. Press Esc to cancel.
Select All Swatches Ctrl+A Selects every paintable piece (swatch) on the model.
Invert Selection Ctrl+I Selects everything that wasn't selected, and deselects everything that was.
Reset Selected R / Click Only while Paint Mode is turned off. Restores everything you've selected back to its original color and settings.
Change Channel Dropdown / Top Row Chooses what your brush affects and what the preview shows: Combined, Color, Metallic, Smoothness, AO, Emissive, Zones, or Wind.
Group Similar Ctrl+G Selects every swatch on the model with a similar color, based on a tolerance slider you set.
Load Palette Color Shift+1-Shift+0 While the Color channel is active, instantly applies one of your 10 saved Custom Palette slots to whatever's selected.
Hide/Show Selected H Hides whatever you've currently selected. If nothing's selected, it hides the whole model instead.
Full Rescan Ctrl+Shift+R Re-scans the model from scratch, undoing every edit you've made. Same as the Reset button.
Paint Entire Object Shift+Enter or Shift+P Applies your current color to every paintable piece on the model in one action.
Deselect All Ctrl+D Clears your selection and takes your cursor out of any text box.
Copy / Paste Color Ctrl+C / Ctrl+V Copies the color from one piece, then applies it to another piece (or several selected at once).
Show All Shift+H Makes every hidden part of the model visible again.
Hide All Sub-Targets Ctrl+H Hides every separate part (renderer) of the model at once.
Swap Active Palette Tab If the window's too narrow to show both the Custom Palette and Imported Palette side by side, switches which one you're looking at. Does nothing once the window is wide enough for both.
Reset View to Combined ` (backtick) Snaps the preview's view channel back to Combined, whatever you were looking at before.
Refresh Material / Preview M Quickly updates the preview to match your material's current settings, without re-scanning the whole model or losing any painted colors.
Refresh Footprint Audit F Updates the memory-footprint preview mentioned later in this guide. It doesn't save or export anything on its own.
Undo works normally: Ctrl+Z / Cmd+Z uses Unity's regular Undo history, so it works no matter which window is focused, but that also means it undoes your most recent action across your whole project, not just this tool. If you do something else in your scene right after painting, that gets undone first, and your paint stroke comes up next.

Texel Density & Smooth Normals

Found in the color-editing panel, these settings help patterns look consistent in size and let you control how rounded or sharp your model's edges appear:

Texel Density

Helps patterns like wood grain or fabric weave look the same size across different parts of your model, instead of stretched in some spots and squished in others. The Calculate & Assign Scale and Auto-Normalize Scale buttons work this out automatically for you.

Smooth Normals & Angle Threshold

Turning on Smooth Normals for a selected piece reveals an angle slider (0°-180°) that controls how it looks:

Works at any size: Smooth Normals and gradients are calculated accurately whether your model is a giant dragon, a small dog, or a tiny campfire, regardless of how it was scaled when imported.

One-Click Material Looks (Feature IDs)

When saving in Vertex Bake & Pack mode, you can give any painted piece a realistic surface look with one click, instead of having to hand-paint the detail yourself.

Select a piece, then use the Feature ID dropdown to choose from these looks:

Fine-Tuning a Material Look

Once you've picked a Feature ID, a few more controls appear:

One-time setup may be needed: If your material doesn't have the _DETAIL keyword enabled yet, choosing a Feature ID will show a warning with an Enable Procedural Details button that turns it on for you automatically.

Zones (Tagging Areas for Later Use)

In Vertex Bake & Pack mode, you can also tag each piece with a Zone ID from 0 to 7. This doesn't change how anything looks right now inside the tool, it's a way to mark different areas so your game's code or shader can treat them differently later on (for example, applying random color variety only within certain zones).

Using an image instead of on-model colors? This zone-painting feature only exists in Vertex Bake & Pack mode. For an image-based model that still needs zones, set VCCore to its non-vertex-color mode instead, which has a dedicated image slot for zone data.

Managing Your Color Palettes

Two side-by-side color grids help you keep your color choices consistent across different models.

You can also use the Export Palette (PNG) and Import Palette (PNG) buttons to save or load your Custom Palette as a small image file, useful for backing it up or sharing a consistent color scheme with teammates.


Handling Models With Multiple Materials

If your model uses more than one material, each one that has its own image gets its own section in the settings panel, labeled by name. In each section you can independently set that material's Base Color, along with its Metallic/Smoothness/AO input, either as one combined Packed MRAO map or as separate Metal, Smooth, and AO texture slots, depending on that material's PBR Mode. Leave anything blank to keep whatever the tool automatically detected.


Raycast AO Baker

A separate tool (not part of the main painting workflow) that calculates realistic shading in corners and crevices (Ambient Occlusion, or AO) by simulating how light would actually be blocked around your model, rather than relying on any pre-made image.

Click Compute & Bake Global Raycast AO to run it. This tool is hidden if you're in Texture Coloring mode with Optimize Palette Size turned on, the AO bake needs each part of the model to have its own separate space in the image, and that option specifically removes that separate space to save disk size. Rather than produce a broken result, the tool simply hides itself in that case.


Saving Your Work

Once you're happy with your changes, use the buttons at the bottom of the window to save. Which ones you see depends on what you're working on:

A separate setting controls what happens to the material file itself each time you save:

Whichever save button you use, here's what happens behind the scenes:

  1. Makes a copy of your original model.
  2. Applies your painted colors to that copy.
  3. Stores your Metallic, Smoothness, and AO settings efficiently on the model.
  4. Applies any Smooth Normals you set up.
  5. Saves the new model (and a new image, if you chose that save option) to your chosen folder.
  6. Creates or updates a ready-to-use version that's already set up with the right material.
Check memory usage before saving: The Footprint Audit panel (and the F shortcut) let you preview how much memory your new version will use before you save, so you can see the savings ahead of time instead of only finding out afterward.

Troubleshooting & Common Questions

I turned on "Split Disconnected Islands" but it still won't let me paint individual pieces separately.
Make sure "Group Similar" (Ctrl+G) is turned off with both on, similarly colored pieces get grouped back together even after being split.
How do I paint wind sway onto plants or cloth?
Switch the Change Channel to Wind, turn on Gradient Paint (G), then click at the base of the plant or stem and drag toward the tip. Turn on "Simulate Wind" in the toolbar to watch it sway live in the preview.
What's the difference between Face, Island, and Shell selection?
Face picks one small triangle at a time for precise edits. Island picks a whole patch that shares one continuous area on the model's image. Shell picks an entire separate part (like a hair clump or armor plate) in one click. Cycle between them with the I key.
Selecting a piece isn't highlighting it correctly, even though I can still change its color.
This is usually caused by mirrored parts of the model sharing the same image space. Try creating a new version of the model and using that as your target instead.
Why won't my low-poly rocks or logs round off when I turn on Smooth Normals?
Blocky, low-detail shapes have sharp angles between their surfaces (often 60°-90° or more). Raise the Smooth Normals angle slider higher, toward 120°-180°, to let those larger angles round off too. A setting of keeps everything completely flat.
Can I round off some parts without rounding the whole model?
Yes, Smooth Normals is set individually per piece (swatch). You can round off organic parts (like wood, rock, or creature bodies) while leaving hard-surface parts (like metal blades or armor) crisp and flat.
I clicked on the model to paint, but nothing happened.
Check that Eraser Mode isn't accidentally turned on. Also make sure you're viewing the right channel for what you're trying to change, for example, you can't paint Metallic while viewing the Color channel.
I can't find the one-click material look (Feature ID) options on my pieces.
Those options only appear in Vertex Bake & Pack mode. If you're in Texture Coloring mode instead, the tool assumes you want a plain image and hides those options.
Undo undid something else in my scene instead of my last brush stroke.
Undo works through Unity's normal history for your whole project, not a separate list just for this tool. So if you did something else in your scene right after painting, that gets undone first, keep pressing Undo and your paint stroke will come up next.
My saved model shows up bright pink.
This means your project is missing a material the tool needs (like VCCore). Make sure everything from the package was imported properly, and that your project's rendering settings match what the tool requires.
The tool feels slow or laggy while I'm painting a detailed model.
The tool checks your exact click position against every single surface for precision, which takes a little longer on very detailed models. If you're working with a model that has 50,000+ triangles, try increasing the Combine Similar Colors tolerance to reduce the number of separate swatches.

Support & Getting Help

For any technical help, bug reports, or general questions, please get in touch through the Contact Formit's the most reliable way to get help with anything you run into.

You can also use the same form to ask about custom freelance work, for example, if you need outside 3D models specially prepared for this tool, or need help with things like wind effects or level-of-detail setup for your game.

Email:
For troubleshooting, bug reports, licensing questions, or freelance inquiries, please use the Contact Form on the DPT Games Hub.
Community Discord:
The contact form is the best way to get direct help, but you're also welcome to join the Discord Server to share feedback and chat with other users.