All notes
GUIDE·June 2, 2026·4 min read

How to Make a Sprite Sheet for Unity: A Practical Guide

If you're building a 2D game in Unity, the sprite sheet is the unit of work you'll touch most often. Get it right and animation is painless. Get it wrong and you'll spend an afternoon fighting pivot drift and blurry edges. This guide walks through the whole process — from choosing a grid size to slicing in the Sprite Editor — with the settings that actually matter.

What a sprite sheet is

A sprite sheet (or sprite strip) is a single image that holds many frames of animation or many related sprites, laid out on a regular grid. Instead of importing 12 separate files for a run cycle, you import one image and tell Unity how to cut it into 12 frames.

Sprite sheets matter for two reasons:

  • Performance. One texture means one draw call for the whole set, instead of one per frame.
  • Consistency. When every frame lives in the same file, alignment and palette stay locked across the animation.

Step 1 — Choose a grid size

Pick a power-of-two cell size and stick to it across the project. The common choices:

  • 16×16 — retro, tight pixel art, GBA-era look.
  • 32×32 — the indie default. Enough detail for characters, still cheap.
  • 64×64 — detailed characters, bosses, larger props.
  • 128×128 — key art, large enemies, hero sprites.

The rule that saves you pain: every frame in a sheet uses the same cell size, and the character sits in the same spot inside every cell. If the character's feet are at the bottom of the cell in frame 1, they must be at the bottom in every frame. Drift here is the number-one cause of "my character bounces while walking."

Step 2 — Lay out the sheet

Arrange frames left to right, top to bottom, in the order they play. A typical character sheet has one row per animation:

Row 1:  idle      (4 frames)
Row 2:  walk      (8 frames)
Row 3:  attack    (6 frames)
Row 4:  hit/death (4 frames)

Keep the cell grid uniform — no padding between cells unless you add it deliberately and account for it in the import settings. Transparent background, clean alpha edges. (More on alpha below; it's where most AI-generated and hand-exported sheets fall down.)

Step 3 — Import settings in Unity

Drop the PNG into your Assets folder, select it, and set these in the Inspector:

  • Texture Type: Sprite (2D and UI)
  • Sprite Mode: Multiple (this is what lets you slice it into frames)
  • Pixels Per Unit: match your cell size. If your sprites are 32×32 and you want one cell to equal one world unit, set this to 32.
  • Filter Mode: Point (no filter) for pixel art. This is critical — leaving it on Bilinear is why your crisp pixels look blurry in-game.
  • Compression: None for pixel art, so colors don't get crushed.

Apply, then open the Sprite Editor.

Step 4 — Slice in the Sprite Editor

In the Sprite Editor, open the Slice dropdown:

  • Type: Grid By Cell Size
  • Pixel Size: enter your cell dimensions (e.g. 32 × 32)
  • Pivot: Bottom for most characters (so they stand on the ground correctly), or Center for projectiles and effects.

Hit Slice, then Apply. Unity generates one sub-sprite per cell, named yoursheet_0, yoursheet_1, and so on.

Tip: if your sheet has padding between cells, use Grid By Cell Count instead and let Unity figure out the spacing, or set the offset and padding fields manually.

Step 5 — Build the animation

Select the frames you want (e.g. all 8 walk frames), drag them into the Scene, and Unity offers to create an Animation Clip. Name it Walk, set the sample rate (10–12 fps is a good starting point for pixel art), and you have a working animation.

From there, wire clips into an Animator Controller with transitions driven by your movement code.

The three things that go wrong

After years of game-art pipelines, almost every sprite-sheet problem comes down to one of these:

  1. Pivot drift. The character isn't in the same position in every cell, so it jitters. Fix it at the art stage — every frame, same silhouette, same anchor.
  2. Alpha fringe. The transparent background has a faint halo or colored edge, which shows up as an outline in-engine. This comes from exporting without a clean alpha channel, or from AI tools that fake transparency with a near-white matte.
  3. Filter blur. Forgetting to set Filter Mode to Point turns crisp pixel art into mush. Always check this first when something looks soft.

Where this is heading

Building sheets by hand is fine for a few characters. It stops scaling the moment you need an entire game's worth of consistent assets — dozens of characters, each with idle, walk, attack, and death cycles, all in the same style.

That consistency problem — same silhouette, same palette, clean alpha, frame after frame — is exactly what we're building NovaSprite to solve. It's an AI sprite generation tool for game developers, designed so the sheets it produces drop straight into Unity with the pivot and alpha already right.

If that's a problem you have, the waitlist is open at novasprite.tech.

Got a sprite-sheet workflow tip we missed? We read every email at api@novasprite.tech.

Waitlist open

Be first in.

First 500 developers receive launch credits and priority onboarding.

Join the waitlist