--- name: export title: Export game-ready assets description: Produce the files an engine actually consumes — spritesheets with atlases, GIFs, scaled PNGs — with the tags and layout the target needs. Use when work is finished and needs to leave Aseprite. --- # Export game-ready assets ## Ask what consumes it The target decides the format, and guessing produces files someone has to re-export. If you do not know, ask — it is one question. | Target | Wants | |--------|-------| | Unity | Spritesheet PNG + JSON atlas, `byTag` split | | Godot | Spritesheet PNG, or `.aseprite` via an importer plugin | | Web / canvas | Spritesheet PNG + JSON | | Preview for a human | GIF, or a scaled PNG | | Print / social | PNG at 4–8× | ## Before exporting Run `aseprite:review`. Exporting broken art just distributes it. Then check specifically: - **Tags exist and are named the way the engine expects** — `idle`, `walk`, `attack`. `validate` errors on untagged multi-frame sprites. - **The reference layer is deleted or hidden**, and so is the sketch layer. - **Frame durations are set.** GIF and most engines read them from the file. ## Exporting **Spritesheet with atlas** — what an engine usually wants: ``` export op="spritesheet" path="…/knight.png" sheetType="packed" byTag=true padding=1 ``` `padding` prevents texture bleed at non-integer zoom, which shows up as a thin line of the neighbouring frame along a sprite's edge. Use 1 unless the engine says otherwise. The JSON atlas is written beside the PNG and carries per-frame rectangles and per-tag ranges. **9-patch panels and hotspots** — `sprite_manage op="slice_create"` names a region with an optional `center` (the stretchable middle, for 9-slicing) or `pivot`. Create slices before exporting; a `spritesheet` export carries them into its JSON atlas alongside the per-frame rectangles. **Animation preview for a human:** ``` export op="gif" path="…/walk.gif" ``` **Scaled PNG** — for a store page or a README: ``` export op="png" path="…/knight@8x.png" scale=8 ``` Integer scale only. Nearest-neighbour. Any other kind of resize destroys the thing you made. ## Save the source Exporting does not save the working document. ``` sprite_manage op="save" ``` The `.aseprite` file is the asset. The PNG is a build artifact. ## Report List the files you wrote, their dimensions, the frame count and the tags. That is what the person wiring them into the engine needs. ## Related `rules://07-review-checklist`, `rules://05-animation`.