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.

Find answers to the most common questions about using Pixelate. If your question isn’t covered here, join the Pixelate Discord community or email tomblackbusiness@gmail.com.
Pixelate supports both the Built-in Render Pipeline and Universal Render Pipeline (URP).
  • For Built-in: use Pixelate.unitypackage or PixelateNew.unitypackage
  • For URP: use PixelateSRP.unitypackage
HDRP is not officially supported.
The most common causes:
  1. Wrong light type — sprite normal map lighting only works with a Directional Light (Built-in) or Global Light 2D (URP). Point lights and spot lights are not supported.
  2. Wrong shader — make sure you’re using ToonLitSprite (Built-in) or Universal Render Pipeline/2D/Sprite-Lit-Default (URP).
  3. No normal map assigned — check that the _NormalMap.png is set in the material’s Normal Map slot.
  4. URP using wrong renderer — URP 2D lighting requires the 2D Renderer. Check your URP asset’s Renderer List.
You’re most likely setting Transform.Scale.x = -1 to flip the character. This inverts the normal map’s lighting direction.Fix: rotate the GameObject 180° on the Y axis instead:
transform.rotation = Quaternion.Euler(0f, facingLeft ? 180f : 0f, 0f);
Use the Color Options section in the PixelateCaptureManager Inspector:
  • Auto Palette — Pixelate generates a palette using K-means clustering. Set Auto Palette Color Count to control the number of colors (default: 16).
  • Custom Palette — supply your own 1-pixel-tall PNG palette texture.
  • None — no palette limiting; output uses full color.
See the Palette Options page for full details.
Yes. In Animation capture mode, the Source Clips field accepts an array of AnimationClip assets. Each clip produces its own sprite sheet and normal map PNG. They are all exported to the same folder you selected as the Export Location.
AutoSpriteSlicer slices from top-left to bottom-right, row by row. If frames appear out of order in the Sprite Editor, open the Sprite Editor (select the PNG → Sprite Editor), click Slice, choose Grid By Cell Size, and enter the same Cell Size you used in Pixelate. Apply and reimport.
Pixelate’s atlas cannot exceed 4096×4096 pixels. If your animation is long or your cell size is large, you may hit this limit.The atlas size is calculated as: ceil(sqrt(numFrames)) × cellSize on each axis. For example, a 60-frame animation at 128×128 cell size produces a 1024×1024 atlas (8×8 grid) — well within the limit. A 120-frame animation at 256×256 would require a 3072×3072 atlas (12×12 grid).To reduce atlas size: lower the FPS, reduce the cell size, or split long animations into shorter clips.
No. The DEMO folder includes 3D animations from Adobe Mixamo. These are provided for testing only and cannot be used in a commercial game. The two 2D animations in the DEMO (Idle and Running) were created with Pixelate from Mixamo sources and carry the same restriction. Use your own animation assets for any commercial project.
The Visualize scene is a simple testing environment. Swap the Sprite Renderer’s sprite and material to your newly captured assets, then press Play to preview how the animation and lighting will look in a 2D scene — without needing to set up a full level first.
Yes — use Particles capture mode. Your Target GameObject must have a ParticleSystem component. You can set a fixed seed value for reproducible captures, or enable Random Seed to vary the simulation each time. See the Particles capture mode page for full details.