[Script] Palette Manager — value-first workflow (grayscale → color in one hotkey)

Hi everyone!

I’m learning pixel art and kept running into the problem: I wanted to work in grayscale first to nail my values, then add color — but the process of manually recoloring grays in Aseprite was really tedious…

So I made Palette Manager — a set of Lua scripts that automate this workflow.

How it works

  1. Pick your target hues (skin, metal, wood, etc.)
  2. The script generates an organized Indexed palette — each hue gets a bright marker + a near-gray ramp (S=5%) with configurable value steps (presets: Full, Dark, Pastel, or custom)
  3. Paint your sprite focusing on form and light
  4. Press one hotkey to toggle between grayscale and full color instantly

Because it uses Indexed Color Mode, changing the palette recolors every pixel on the canvas immediately.

Demo

toggle_demo

What’s included

  • PaletteManager.lua — main dialog for palette generation with auto-detection of hues from existing palettes
  • PM_Toolbar.lua — compact floating panel with a saturation slider (keep it open while painting)
  • PM_Toggle.lua — no-UI toggle script, bind to a hotkey for instant switching

Features

  • Generate palettes with multiple color groups (number depends on step count)
  • Value range presets (Full, Dark, Pastel) with visual grayscale preview
  • Auto-detects hues when opening an existing palette (finds vivid markers or saturated colors)
  • Add new color groups to an existing palette without losing your work
  • Black outline color always at Index 1
  • Customizable bright/dark range, step count, and saturation levels

Install

  1. Download the scripts
  2. File > Scripts > Open Scripts Folder → copy files there
  3. File > Scripts > Rescan Scripts Folder
  4. Bind PM_Toggle to a hotkey in Edit > Keyboard Shortcuts

GitHub: GitHub - kulti/aseprite_pm: Aseprite Palete Manager · GitHub

Would love to hear your feedback! Especially if you have ideas for improvements.