libresprite.dev
v1.3

Guide · Unity

Sprite sheets from LibreSprite to Unity

Unity slices a sprite sheet into individual sprites and turns them into an animation clip. The import settings decide whether your pixels stay crisp, so they come first. The example uses our 4-frame, 32 × 32 demo sprite.

How we checked: the LibreSprite side (the sheet, its size and frame order) is tested on 1.3. The Unity steps follow Unity’s own manual for the 2D Sprite tools; we did not run the Unity editor, which needs a signed-in Unity account and licence activation that our throwaway test machines don’t have. For an engine we did run end to end, see the Godot guide.

Checked with LibreSprite 1.3Updated 2 min read
On this page 6 sections
  1. 1. Export from LibreSprite
  2. 2. Import settings
  3. 3. Slice
  4. 4. Animate
  5. 5. Pixel-perfect camera
  6. FAQ

Short answer

How do I import LibreSprite art into Unity?

Export a horizontal strip PNG from LibreSprite (File → Export Sprite Sheet). In Unity, select the PNG and set Texture Type Sprite (2D and UI), Sprite Mode Multiple, Pixels Per Unit 32, Filter Mode Point (no filter), Compression None, Apply. Open the Sprite Editor, Slice → Grid By Cell Size 32 × 32 → Slice → Apply. Then select the sliced sprites and drag them into the scene to create an animation.

1. Export from LibreSprite

File → Export Sprite Sheet (Ctrl+Alt+E) → Horizontal Strip → walk.png. Every frame has the same size, which is exactly what Unity’s grid slicing needs. Don’t use Trim here: trimmed frames have different sizes. Command line: libresprite -b walk.ase --sheet walk.png.

2. Import settings

SettingValueWhy
Texture TypeSprite (2D and UI)Makes it usable as sprites
Sprite ModeMultipleOne image, many sprites
Pixels Per UnitYour frame or tile size (e.g. 32)1 sprite = 1 world unit; keeps sizes consistent
Filter ModePoint (no filter)No blur
CompressionNoneNo colour artefacts
Generate Mip MapsOffAvoids blurring and bleeding when zoomed out

3. Slice

Click Sprite Editor (provided by Unity’s 2D Sprite package, included in the 2D templates). Slice → Type Grid By Cell Size, Pixel Size 32 × 32, Pivot as you like (Bottom works well for characters) → Slice → Apply. You now have walk_0 … walk_3.

4. Animate

Select the four sliced sprites in the Project window and drag them into the Scene. Unity asks for a file name and creates an Animation clip plus an Animator controller on a new GameObject. Open the Animation window to set the clip’s sample rate: for 120 ms per frame use about 8 samples per second (1000 ÷ 120 ≈ 8.3). Our ms ↔ FPS converter helps.

5. Pixel-perfect camera

With the 2D renderer, add a Pixel Perfect Camera component to the camera and set its Assets Pixels Per Unit to the same value (32) and a reference resolution such as 320 × 180. It keeps pixels square and avoids shimmering when sprites move.

FAQ

Can Unity read LibreSprite’s JSON?

Not natively. Grid slicing by cell size needs no JSON. For packed or trimmed sheets, third-party importers for Aseprite JSON may work, since LibreSprite uses the same layout.

Can Unity import .ase files from LibreSprite?

Unity’s own Aseprite importer targets Aseprite files; it may read simple LibreSprite .ase files, but we haven’t tested it. Exporting a PNG sheet is the reliable route.

My sprites have thin lines around them.

Turn off mip maps and compression, use Point filtering, and if needed export with 1–2 px padding between frames and slice with the matching offset/padding.

Keep going

Found something wrong or out of date? Tell us: hello@libresprite.dev. We fix mistakes within a day.