Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.tomblack.ca/llms.txt

Use this file to discover all available pages before exploring further.

This page covers the most common problems you may encounter while using Pixelate, with step-by-step fixes for each. For issues not listed here, join the Discord community or email tomblackbusiness@gmail.com.

Capture issues

Check each of the following in the PixelateCaptureManager Inspector:
  1. Target is assigned (drag your model GameObject into the Target field)
  2. Capture Camera is assigned (drag the orthographic capture camera)
  3. Export Location is inside the project’s Assets/ folder — the path must contain the project’s dataPath
  4. For Animation mode: at least one Source Clip is assigned and is not null
If all fields are set, check the Unity Console for error messages logged by Pixelate.
The capture runs as an Editor coroutine and processes one frame per editor update tick. For long animations, this can take some time. Unity may appear frozen — wait for it to complete rather than force-quitting.To reduce capture time:
  • Lower Frames Per Second (fewer frames to render)
  • Reduce Cell Size (smaller render target per frame)
  • Split long clips into shorter segments
You’ll see Error attempting to capture an animation with a length and resolution that would produce a texture of size: {size} when the computed atlas exceeds 4096×4096.Fix: reduce FPS, cell size, or animation length. The atlas size formula is: gridCellCount = ceil(sqrt(numFrames)), atlasSize = cellSize × gridCellCount.

Color and palette issues

If you’re using a custom palette, check every import setting on the palette texture:
  • sRGB: enabled
  • Non-Power of 2: None
  • Read/Write: enabled
  • Mip Maps: disabled
  • Streaming Mipmaps: disabled
  • Wrap Mode: Clamp
  • Filter Mode: Point (No Filter)
  • Compression: None (RGBA 32 bit)
Pixelate logs a specific Console error for each misconfigured property. Check the Console and fix each one, then re-capture.
  • In Auto Palette mode: reduce Auto Palette Color Count (try 8 or 16)
  • In Custom Palette mode: use a smaller palette (fewer pixels in your palette PNG)
  • Decrease filterAbsColorThreshold in PixelateSettings to make the noise filter stricter
  • Increase palletteColorConsolidationThreshold to merge similar colors more aggressively
The {ModelName}_Palette.png is only saved when using Auto Palette mode and Animation capture type. It is not saved for Image or Particles modes. Confirm your capture mode and palette setting.

Lighting and normal map issues

  1. Confirm there is a Directional Light in the scene (Built-in) or a Global Light 2D (URP)
  2. Confirm the material is using a lit shader: ToonLitSprite (Built-in) or Sprite-Lit-Default (URP)
  3. Confirm the normal map texture is assigned in the material’s Normal Map slot
  4. For URP: confirm your URP asset uses the 2D Renderer (not the Universal or Forward renderer)
Make sure Create Normal Map is enabled in the Capture Options section of the PixelateCaptureManager Inspector before clicking Capture.
This is almost always caused by using Transform.Scale.x = -1 to flip the character.Fix: rotate on the Y axis instead:
transform.rotation = Quaternion.Euler(0f, facingLeft ? 180f : 0f, 0f);
Each animation clip produces its own normal map, so each needs its own material. Set up material swapping in your animation clips so the Sprite Renderer uses the correct material for each animation. See the Sprite Animation Setup guide for instructions.

Sprite slicing issues

Open the Sprite Editor, click Slice, select Grid By Cell Size, and enter the exact Cell Size you used in Pixelate. Apply and re-import. This forces Unity to re-slice using the correct dimensions.
AutoSpriteSlicer sets the sprite import mode automatically after capture. If this didn’t happen:
  1. Select the PNG in the Project window
  2. In the Inspector, set Sprite Mode to Multiple
  3. Click Apply
  4. Open Sprite Editor → Slice → Grid By Cell Size → enter your Cell Size → Apply

Getting more help

If none of the above solves your issue: