1. Download the ZIP
- Open your sprite (from Drive or the public gallery) and choose ZIP under Download Assets.
- Unzip it. You need
normalized_spritesheet.png, theframes/folder andspritesheet.json. - Open
README.txt: it lists the cell size (for example128 x 128) and the grid (for example4 columns x 4 rows). You'll type these numbers into the engine.
Pro Motion sheets store the exact playback rate in spritesheet.json (animations → fps). For other sheets the defaults are listed below.
2. Import the texture as a multi-sprite
- Drag
normalized_spritesheet.pnginto your Assets folder and select it. - In the Inspector set Texture Type to Sprite (2D and UI) and Sprite Mode to Multiple.
- Set Pixels Per Unit to match the rest of your art (a common choice is the cell height, so one frame is one unit tall).
- For pixel art set Filter Mode to Point (no filter) and Compression to None. Click Apply.
3. Slice by cell size
- Click Open Sprite Editor, then Slice.
- Choose Type: Grid By Cell Size and enter the cell width and height from README.txt. Leave offset and padding at 0.
- Pick a Pivot: Center matches how frames are placed in their cells; use Bottom or a custom pivot for feet-on-ground characters.
- Click Slice, then Apply. The sprites are named
normalized_spritesheet_0,_1, … in reading order: left to right, top to bottom.
Item and icon sheets can have empty cells at the end of the grid. Leave Keep Empty Rects off and Unity skips them.
4. Create animation clips
- Select the sprites for one animation (for a walk cycle with 4 columns,
_0–_3is walk_down,_4–_7walk_left, and so on) and drag them into the Scene or Hierarchy. Unity creates an Animation Clip and an Animator Controller. - Open the clip in the Animation window and set its sample rate to the FPS for the sheet (enable Show Sample Rate from the window's menu if the field is hidden).
- Repeat for each row, then wire the clips into the Animator Controller.
Every frame is centered inside its cell, so a center pivot keeps the animation steady. If you want the pivot at the character's feet, set it once to the same point for every frame; because all cells are the same size, one value works for the whole sheet.
Alternative: use the individual frames
- Import the
frames/folder instead, set every PNG to Sprite Mode: Single with the same pivot, and drag a run of frames into the scene to make a clip.
Reference: what's in the ZIP
- normalized_spritesheet.png
- The sheet on a uniform grid: every cell is the same size, frames read left to right, top to bottom, on a transparent background.
- frames/frame_001.png …
- One PNG per frame, numbered from 001 in playback order, each the size of one cell.
- spritesheet.json
- Engine-friendly metadata: meta.size, a frames map with the x, y, w, h rectangle and duration (ms) of every frame, and for animated modes an animations map with frame names, fps and loop.
- metadata.json and README.txt
- Cell width and height, the grid (columns × rows), frame count and the original prompt.
- original.png
- The source image before the frames were normalized onto the grid.
Default playback rates
| Sheet type | FPS |
|---|---|
| 4-direction walk cycles | 8 |
| Character action sets | 10 |
| Enemy idle animations | 6 |
| VFX effects | 12 |
| Creative animations | 8 |