textures array. Each entry in the array represents one atlas sheet and carries its own image, size, scale, and frames array. This matches the layout Phaser 3 expects from scene.load.multiatlas().
Single-sheet packs still produce a textures array with one entry, so you can always load with multiatlas regardless of whether multipack is on.
Usage
- CLI
- Project file
Output format
Single sheet
Standard single-sheet output:Multi-sheet (multipack)
Multi-sheet output writes two entries intextures but only one JSON file:
Loading in Phaser 3
Schema reference
Texture entry
Texture filename (e.g.,
atlas.png, atlas1.png)Pixel format (e.g.,
RGBA8888, RGB888)Scale factor used during packing. Phaser uses this to apply sub-pixel corrections when mixing
@1x and @2x atlases.Array of frame objects for this texture sheet
Frame object
Sprite ID (source path without extension)
Rectangle in the atlas texture (x, y, w, h in pixels)
true when the sprite was rotated 90° clockwisetrue when transparent borders were strippedFrame’s position and size relative to the original source image
Full original image dimensions before trimming
Meta object
Multipack support
When multipack is active, the Phaser 3 exporter combines all sheets for a scale variant into a single JSON file. Secondary sheets do not get their own data files; only one.json is written per variant.
Each
textures entry has its own scale field that reflects the ScaleVariant.scale used during packing. This allows Phaser to correctly handle mixed-resolution atlases.TexturePacker compatibility
TexturePacker also produces this format when targeting Phaser 3. Themeta.app field reads "FastPack" instead of "TexturePacker"; Phaser ignores the app field.
Frame fields use camelCase (spriteSourceSize, sourceSize) to match Phaser’s parser.