Yotsuba Games
Back to Guide
Guide

Building Tile Assets (Tile Asset Builder)

tile_asset_builder assembles one tile asset (TileAsset) from a sheet image or frame list. Static tiles, animations, multi-cell stamps, and auto/rule tiles can all live inside the same asset. Double-click the node to open its dedicated editor.

Input pins

Pin Type Purpose
image Image Sheet image to slice (offset/margin/spacing set in the editor)
sprite_sheet SpriteSheet Existing sheet; its grid initializes the slice recipe
images List Animation frames (bundle them with list_create)
rule_tile_asset RuleTileAsset Auto/rule tiles made with autotile_from_template, rule_set_preset, etc.
base_asset TileAsset Start from an existing asset and edit/extend it

1. Bulk-slice a sheet (static tiles)

  1. Connect a sheet to image (or sprite_sheet)
  2. In the "Sheet & slicing" section set cell width/height, start offset, margin, spacing. A grid overlay preview shows exactly where cells are cut
  3. Enable "Register whole sheet" to register every cell (or uncheck it to register only selected cells) as static tiles — no per-cell wiring
  4. "Transparent cells" lets you exclude fully transparent cells (empty sheet slots)

Each registered cell becomes a brush with the stable ID brush_<prefix>_<index>. Palettes and maps reference brushes by these IDs, so avoid changing them later.

2. Add animations

Two ways:

  • From selected cells: select cells on the sheet in order and press "Add from selection"
  • From the images input: build a frame list with list_create (item type: Image), connect it to images, and press "Add from images input". Frames must be exactly the asset's cell size

Putting an existing static brush ID into "Target brush ID" swaps that brush's visual to the animation while keeping its palette slot. Leave it empty to create a new brush named brush_anim_<animation id>. Frame duration (ms) and looping are configurable; the default phase mode keeps all cells in sync (global).

3. Create multi-cell stamps

Select several cells (e.g. a 2×2 house) and press "Create stamp from selection" — they become one stamp brush that places all cells with a single click on the map. The individual member cells are hidden (internal) so they don't clutter the palette.

4. Import auto/rule tiles

Connect an auto/rule tile asset to rule_tile_asset and enable "Import connected rule tile asset". Its rules join the asset as a rule brush; painting that brush on a map picks tiles automatically from neighbors (see Painting maps). Imported IDs are derived deterministically from content, so re-importing the same source never breaks references.

5. Save — tile_asset_save

Connect the tile_asset output to tile_asset_save and choose a .pxntile path and save mode. The saved .pxntile is self-contained (images embedded) — it loads with tile_asset_load even after the original input nodes are gone.

Save under the library (user_data/library/user/tiles/) to make the asset appear in the palette editor's library pane (→ Library & packs).

Common mistakes

  • Wrong frame size: images frames must match the cell size exactly
  • Changing the cell size later: breaks palettes/maps referencing the asset — decide it first
  • Changing the bulk prefix later: changes brush IDs and orphans existing references

Working sample

docs/ai/samples/tile_studio_demo.ppl (shipped as ai/samples/) contains a complete example: grass sheet slicing + water animation + house stamp + road auto-tile import.

Building Tile Assets (Tile Asset Builder) — PixPipeline User Guide