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.

Pixelate ships as separate packages for Unity’s Built-in Render Pipeline and Universal Render Pipeline (URP). The capture behavior, shaders, and runtime material setup differ between the two. Choose the right package before importing, since mixing assets from both pipelines into the same project will cause shader errors.

Which package to install

PackagePipelineNotes
Pixelate.unitypackageBuilt-in Render PipelineOriginal release
PixelateNew.unitypackageBuilt-in Render PipelineUpdated version with additional fixes
PixelateSRP.unitypackageUniversal Render Pipeline (URP)Use this for all URP projects
If you are on URP, install PixelateSRP.unitypackage only. Do not import Pixelate.unitypackage or PixelateNew.unitypackage alongside it.

Built-in Render Pipeline

The Built-in Render Pipeline is Unity’s classic pipeline, available in all Unity versions without additional setup.

Runtime shader

Pixelate includes ToonLitSprite.shader for displaying captured sprites with real-time directional lighting in your 2D scene. Assign a material using this shader to the Sprite Renderer component on your sprite GameObject.

Lighting requirements

ToonLitSprite only responds to Directional Lights. Point lights and spot lights are not supported. If your scene uses point or spot lights, the sprite will not be lit correctly.

Capture behavior

During capture, Pixelate manages the render pipeline state automatically so that each frame is captured consistently, regardless of any post-processing effects your project has enabled. You do not need to change any project settings before running a capture.

Setting up a captured sprite (Built-in)

1

Assign the material

Create a material using the ToonLitSprite shader and assign your captured sprite sheet to its Albedo texture slot. If you enabled Create Normal Map during capture, assign the normal map PNG to the material’s Normal Map slot.
2

Add a Directional Light

Add a Directional Light to your 2D scene. Rotate it to control the shading angle on your sprites. Ensure no point lights or spot lights are the primary light source.
3

Add the Sprite Renderer

Attach a Sprite Renderer to your sprite GameObject. Assign the material you created in step 1 and set the Sprite field to the captured sprite.

Universal Render Pipeline (URP)

URP is Unity’s scriptable render pipeline for projects targeting a broad range of platforms with modern rendering features.

Installation

Import PixelateSRP.unitypackage from your asset files. This package replaces the Built-in shaders with URP-compatible equivalents and updates the capture scripts to handle URP’s pipeline override requirements.

Runtime shader

For lit sprites in URP, use the built-in Universal Render Pipeline/2D/Sprite-Lit-Default shader. Pixelate’s AlsoCreateURPMaterial setting (in Advanced Settings) automatically creates and saves a material using this shader when a capture completes, with the sprite sheet and normal map already assigned.

2D lighting setup

URP’s 2D lighting system must be enabled for Sprite-Lit-Default to respond to lights. If your URP asset is configured with the 3D Renderer, the sprite will appear unlit regardless of lights in the scene.
1

Configure your URP asset

In your URP Asset (assigned in Project Settings → Graphics), ensure you are using a 2D Renderer (also called Universal Renderer with 2D lighting). If you are using a 3D Renderer, add a separate URP asset with a 2D Renderer, or switch your project to use it.
2

Enable 2D lighting

Open the 2D Renderer Data asset. Verify that it includes a Light 2D setup. In your scene, add a Global Light 2D or Freeform Light 2D to provide ambient and directional illumination.
3

Assign the auto-generated material

If AlsoCreateURPMaterial is enabled, locate the generated material in your export folder (it shares the name of the sprite sheet). Assign it to your Sprite Renderer directly, or use it as a starting point for customization.

Capture behavior

During capture, Pixelate automatically manages render pipeline state per frame so that each frame is captured consistently, even if your project switches quality levels or renderer settings at runtime. You do not need to change project settings before capturing.

Pipeline comparison

FeatureBuilt-inURP
PackagePixelateNew.unitypackagePixelateSRP.unitypackage
Runtime lit shaderToonLitSpriteURP/2D/Sprite-Lit-Default
Lighting typeDirectional Light only2D Light (Global, Freeform, etc.)
Normal map supportYesYes
Auto-generated materialNoYes (AlsoCreateURPMaterial)
2D Renderer requiredNoYes