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.

Advanced settings live in a PixelateSettings ScriptableObject, separate from the main capture options. This lets you reuse the same configuration across multiple PixelateCaptureManager instances, or maintain different presets for different visual styles.

Creating and assigning a settings asset

1

Create the asset

In the Project window, right-click in the folder where you want to store the asset, then select Create → Pixelate → PixelateSettings. Name the asset to match its intended use (for example, CharacterSettings or PropsSettings).
2

Assign it to the capture manager

Select the GameObject that holds your PixelateCaptureManager component. In the Inspector, locate the Advanced Settings field and drag your new PixelateSettings asset into it.
If no PixelateSettings asset is assigned, Pixelate falls back to its built-in defaults. Assigning a settings asset is optional but recommended any time you want to go beyond the defaults.

General

SpritePPU
int
default:"32"
Pixels Per Unit for the output sprite texture. This value controls how Unity maps pixels to world units when the sprite is placed in a scene. A value of 32 means 32 pixels equals one Unity unit. Match this to your project’s global PPU setting for consistent scaling.

Palette and color

filterAbsColorThreshold
float
default:"10"
Range: 1–50. Threshold for filtering out noisy or near-duplicate colors before the palette is built. Higher values aggressively discard colors that differ only slightly from others, resulting in a cleaner but more reduced palette. Lower values preserve more subtle color variation.
palletteColorConsolidationThreshold
float
default:"3.8"
Range: 1–100. Controls how aggressively similar colors are merged during palette consolidation. Higher values merge more colors together, reducing total palette size and enforcing a more unified look. Lower values keep colors more distinct.
Start with the defaults and adjust filterAbsColorThreshold upward if your palette contains many near-identical colors. Increase palletteColorConsolidationThreshold to push the output toward a flatter, more stylized palette.

Dithering

Pixelate supports two separate dithering passes: one applied during the albedo and normal map conversion, and one applied specifically during palette snapping.

Albedo and normal map dithering

UseDithering
bool
default:"true"
Enables dithering during the albedo and normal map conversion passes. Dithering simulates additional color depth by mixing pixels from nearby palette entries, reducing visible banding on gradients.
DitheringPower
float
default:"0.1"
Range: 0–1. The intensity of dithering in the conversion pass. Values closer to 0 produce a nearly clean result; values closer to 1 produce heavy, visible dithering patterns. Most stylized pixel art uses values between 0.05 and 0.2.
DitheringLookupTexture
Texture2D
default:"None"
The dithering matrix texture used during the conversion pass. This texture defines the spatial pattern of the dither. Pixelate ships with a default Bayer matrix; assign a custom texture here to use a different pattern (for example, a blue-noise texture).

Palette snapping dithering

UseDithering_ForPalletteSnapping
bool
default:"true"
Enables dithering specifically during the palette snapping step, where each pixel’s color is mapped to the nearest palette entry. This can smooth the transition between palette colors at boundaries.
DitheringPower_ForPalletteSnapping
float
default:"0.17"
Range: 0–1. The intensity of dithering during palette snapping. This is independent of DitheringPower and is typically set slightly higher to compensate for the harder snapping step.
DitheringLookupTexture_ForPalletteSnapping
Texture2D
default:"None"
The dithering matrix texture used during the palette snapping pass. Assign a custom texture here to use a different pattern from the conversion pass, or leave it unassigned to use the same default.

Lighting and shading

UseLightingOnOutline
bool
default:"false"
When enabled, the lighting model influences the color of sprite outlines. When disabled, outlines are rendered at full color regardless of the light direction. Enable this for a more physically grounded look; leave it disabled for a classic cartoon outline.
CellShadeNormalOutput
bool
default:"false"
Applies cell shading to the normal map output. Instead of a smooth normal gradient, the output is posterized into discrete shading bands. Enable this when you want the real-time lighting on your sprites to produce a hard, anime-style shading result rather than a smooth gradient.
NormalMapCellShadingLookup
Texture2D
default:"None"
The lookup texture that drives the cell shading applied to the normal map output. The texture maps incoming normal values to banded shading levels. Only used when CellShadeNormalOutput is enabled.
CellShadedLookup
Texture2D
default:"None"
The lookup texture used for cell-shaded lighting in the runtime shader. Assign a ramp texture here to control how lighting transitions between shadow and highlight bands on your sprites at runtime.
AlsoCreateURPMaterial
bool
default:"true"
When enabled, Pixelate creates and saves a URP-compatible material alongside the captured sprite sheet. This material is pre-configured with the correct shader and texture assignments for use in a URP project. Disable this if you are using the Built-in Render Pipeline only.

Debug

showExtraDebugInformation
bool
default:"false"
When enabled, Pixelate logs additional information to the Console during a capture, including calculated texture dimensions, grid cell counts, and any optimization decisions made to stay within the 4096×4096 atlas limit. Enable this when diagnosing unexpected atlas sizes or export issues.