Export Batch
Exports every frame of a batch as an individually named file, or packs the frames into a sprite sheet with a JSON manifest.
Export Batch takes a batch (from Palette Remap, Collect, Image Folder, or any batch source) and writes every frame as a separate file, named by a template. A live preview of the resolved filename sits below the template field, and a progress bar on the node body tracks the export.
Every frame can be written as PNG, JPEG, TGA, BMP, WebP, TIFF, or a flat PSD at 8 or 16 bits per channel, transparent where the frame is; OpenEXR and Radiance HDR join them in 32-bit (Float) Mode. See PSD Files & Color Profiles.
As with Export Image, nothing is written until you run an export: the node’s Export button, Ctrl+Shift+E for the selected export nodes, or File > Export All (Ctrl+Shift+Alt+E).
A relative output directory such as export resolves next to your .arcb file, so exports stay portable with it. Missing folders are created automatically.
Output Channels sets the channel layout of every written frame:
- Auto keeps each frame’s incoming channels (a mixed batch stays mixed).
- RGBA always writes color.
- Grayscale writes single-channel files, taken from the channel set by Grayscale From (Luminance, Red, Green, Blue, or Alpha).
File Name Tokens
Section titled “File Name Tokens”Tokens in curly braces are replaced for each exported frame. The file extension comes from Format and is appended automatically; it is not part of the template. The </> button lists every token with its live value from the first frame. The default template is {name}. For a Palette Remap of hero.png with slots red, teal, and gold:
{name}writeshero_red.png,hero_teal.png,hero_gold.png: each color’s name joins its parent’s name.{source}_{index:3}writeshero_001.png,hero_002.png,hero_003.png.
Naming with Tokens builds batch templates step by step, and the Token Reference lists every token. {date} and {time} are fixed when you click Export, so every frame of one run shares them. Node tokens and | transforms need ArcBrush 1.7.0 or later.
Forward slashes in the template create subdirectories inside the output directory. If several frames expand to the same filename, a numeric suffix (_001, _002, …) is appended to prevent overwrites. The node’s Output Files list shows the real written names, so a repeated {name} reads as name, name_001, name_002, and so on.
Sprite Sheet Filename
Section titled “Sprite Sheet Filename”With Generate Sprite Sheet on, the File Name field is replaced by a Sheet Filename field that names the assembled sheet image and its companion JSON manifest, with a live preview of the resolved name.png / name.json pair. For an atlas file in another shape (Phaser or PixiJS JSON, Starling XML, CSS, C#, or Godot), wire the same batch into Export Data, which reads the sheet’s placements.
At 32-bit float Bit Depth the sheet is written as a TIFF instead, and the preview, the overwrite check, and the writer all agree on name.tif, so choosing Skip on an existing sheet leaves it alone. With EXR or HDR as the format the sheet falls back to a PNG atlas. Embed Recipe is disabled with an explanation at that depth, because a TIFF sheet cannot carry the recipe.
Sheet Filename takes {count} (the number of frames packed) and the tokens that are the same for the whole export; per-frame tokens such as {name} or {index} do not apply. A new node’s default is {this.label|or:this.id}_sheet: an Export Batch labeled “hero” writes hero_sheet.png and hero_sheet.json, an unlabeled one ExportBatch1_sheet.png. A node from an earlier version keeps the {node}_sheet it was saved with, which writes the same Node ID. Slashes create subdirectories.
Parameters
Section titled “Parameters”Pins
Export
Folder the Export action writes into. Tokens work; add a transform such as {graph|snake}
File format for each exported frame.
PSD writes one flattened image, transparent where the image is, at 8 or 16 bits.
EXR and HDR need 32-bit (Float) Mode. HDR does not write alpha; EXR does.
JPEG/WebP quality
Background matte
zlib level
TGA RLE compression
Lossless WebP encoding
TIFF compression codec
Embed this graph into every exported file's metadata so it can be reopened in ArcBrush.
Includes all node settings, notes, and input files; Private Paths decides how their paths are stored. Adds a few KB per file.
Store only file names in the recipe, so the exported file is safe to share.
Turn off to keep full file paths, including those in Project variables, for your own machine or a trusted studio.
Output Files
Template for exported filenames.
Tokens: {name}, {source}, {label}, {color}, {index}, {count}, {width}, {height}, {date}, {time}, {quality}, {compression}, {this.label}, {this.id}, {graph}. Add a transform such as {name|snake} or a fallback such as {label|or:name}.
{color} resolves to the frame's variant color as a 6-digit hex code (e.g. a020f0).
Sprite Sheet
Export a sprite sheet PNG + JSON manifest instead of individual frame files
Filename (no extension) for the sheet PNG and its JSON manifest. The default is this node's label, else its Node ID, plus _sheet.
Tokens: {this.label}, {this.id}, {graph}, {count}, {date}, {time}, {quality}, {compression}. Add a transform such as {this.id|snake}.
How sprites are arranged on the sheet.
- Grid: uniform cells, every frame the same cell size.
- Tight: packs mixed-size sprites tightly.
Number of columns in the grid
Remove transparent borders from each sprite before packing, to reduce wasted atlas space.
Original dimensions are preserved in the manifest.
Alpha values at or below this are treated as transparent. 0 = fully transparent pixels only.
Duplicate edge pixels outward to prevent texture bleeding in game engines. The sprite's logical size is unchanged
Space between sprites in pixels
Padding around the sheet perimeter
Sheet background
Constraint on the sheet's final dimensions.
- Any Size: no constraint.
- Power of 2: round up to the next power of two.
- Multiple of 4: round up to a multiple of 4 (DXT/BC compression).
- Word Aligned: round width up to a multiple of 2.
Maximum sheet width in pixels
Maximum sheet height in pixels
Display colored outlines around each sprite in the preview panel
Output
How a 4-channel frame is converted to grayscale for export.
JPEG and WebP have no single-channel mode, so they write a grayscale frame as gray-valued RGB.
High-Bit-Depth
Output bit depth, 8-bit by default. The dropdown offers only what the selected format can write: 8-bit, 16-bit, or 32-bit float for PNG and TIFF; 8-bit or 16-bit for PSD; 16-bit half or 32-bit float for EXR. Changing format does not disturb the depth you chose for the other one
Color
How working-space color is converted when each frame is written (32-bit mode; applies at every bit depth):
Until explicitly set, the default follows the output format: EXR writes working-space values, other formats bake the view.
Color space each frame is converted into before writing, for example sRGB Encoded Rec.709 (sRGB) for a standard sRGB file. Same as Working Space writes it unconverted
- Same per-format options as Export Image (see above). Quality is shown for JPEG or lossy WebP.
- Sheet Layout controls are only visible when Generate Sprite Sheet is enabled.
Usage Tips
Section titled “Usage Tips”- When you fan a batch into Palette Remap or Separate (an M×N expansion), the default
{name}already gives each combination a unique name liketree_purple.png, because every color and piece joins its parent’s name. - With Generate Sprite Sheet on, Show Outlines draws a colored boundary around each packed sprite in the preview while you tune packing.
- Set Output Channels to Grayscale to write masks or height maps as real single-channel PNG, TGA, TIFF, or PSD files.
- Turn on Embed Recipe to store a copy of the graph inside each PNG, WebP, JPEG, and TIFF frame; dropping any of those files back onto ArcBrush reopens the graph. Private Paths (on by default) keeps input file names only; turn it off to keep full paths. See Recipes in exported images.
- Use Tag upstream to rename frames from a template or attach
{tag:key}values for the filename. - A batch of texture sets is refused at the wire. Wire it into Export Texture instead, which writes every asset of a library under its own name.