Export Settings
The Export Settings control how EmoteLab records, encodes, and saves both animated emotes. This page explains what each option does and how it affects your output.
Save Location
The folder where all exported files are written.
By default, EmoteLab uses a folder inside your Documents directory:
C:\Users\<username>\Documents\EmoteLab\Export
If you enter a custom path:
- The folder must already exist or the change will be rejected.
- Both animated exports (GIF/APNG) and static image exports (PNG) will be saved there.
- The Open Export Folder button in the Animation Player opens this exact folder.
If the Documents folder cannot be accessed for some reason, EmoteLab falls back to Unity’s persistentDataPath.
Copy the folder path from the File Explorer address bar and paste it here to avoid typing errors.
Animation export settings
Export presets
- Presets: A dropdown that lets you load predefined export configurations from JSON files.
Presets set format and image dimensions (width × height in pixels). Platforms may also enforce file size limits (in KB or MB). If your export is rejected for being too large, reduce the file size by choosing a lower FPS or limiting the frame count by enabling Limit Max. Frame Count.
Recorder settings
These settings control how animations are sampled and what size their frames are when exporting GIF/APNG.
-
Width / Height: Controls the pixel resolution of the recorded animation.
- Must be between 4 and 2048.
- Larger sizes give sharper output but produce larger files and take longer to encode.
-
FPS: Frame per second.
- The options depend on the selected encoder.
- A higher FPS makes motion smoother but also increases file size and encoding time.
-
Limit Max. Frame Count: When enabled, EmoteLab enforces a maximum number of recorded frames.
-
Max. Frame Count: Sets the hard upper bound on how many frames will be recorded.
- Only active when Limit Max. Frame Count is enabled.
- Use this for platforms that limit how many frames an animation can contain.
Export settings involve a trade-off: small file size, high FPS, and high resolution cannot all be maximized at once. Choosing lower resolution or FPS (or limiting frame count) keeps files smaller; raising them improves quality at the cost of file size. High resolution and high FPS also require more resources from the encoder, so the export process can take longer. Pick what matters most for your use case.
Encoder settings
These settings control how the recorded frames are turned into a final animated file.
- Encoder: Chooses between GIF and APNG.
GIF options
GIF uses a limited palette (up to 256 colors per frame), so the encoder must reduce colors from your source. The options below control how that is done. GIF does not support semi-transparency; each pixel is either fully transparent or fully opaque. Only certain frame rates are available. The format is widely supported and keeps file size down, at the cost of color fidelity.
- Palette Algorithm
- Octree: general purpose color quantization found in most encoders. May be more suitable for noisy and colorful images.
- Enhanced octree: more likely to keep colors which occupy more area in an image. Suitable for "clean" artstyles such as CoffeeBean model.
"Enhanced" is only a name and it does not mean this algorithm performs better in all cases. Results depend on your image. The "enhanced" variant is tuned for cartoon-style art; for other styles, Octree may look better.
-
Alpha Threshold
- Controls which pixels are written as transparent or opaque in the GIF.
- Pixels with alpha at or below the threshold → transparent; alpha above → opaque.
- Semi-transparent pixels usually appear near the edges of the image (from filtering, anti-aliasing, and scaling), so this setting mainly affects edge appearance. If you see a light or dark halo around the character, try increasing the value.
-
Enable Dithering
- When enabled, the encoder applies dithering while mapping full-color frames into the limited palette.
- Helps hide banding in gradients and large flat areas.
- Can introduce a visible artifact—for example, a fine dotty or speckled pattern on the image (shown in the image below). Whether you notice it depends on the colors and content of the emote (e.g. more noticeable on solid or flat areas, less so on busy or gradient regions). Disable dithering if you prefer a cleaner look and can accept more banding.
-
Use Global Color Table
- When enabled, a single shared palette is used for all frames:
- Usually produces smaller files and can play back more efficiently.
- All frames must share the same 256 colors, which can slightly reduce quality in scenes with very different colors across frames.
- When disabled, each frame can use its own palette:
- Better per-frame color fidelity.
- Typically larger file size.
- When enabled, a single shared palette is used for all frames:
-
Samplinging Rate
- Controls how densely the encoder samples pixels across frames when building the global palette:
- Lower values sample fewer pixels (faster, smaller palette computation, but potentially less accurate colors).
- Higher values sample more pixels (better color representation, at the cost of extra processing).
APNG options
APNG (Animated PNG) keeps full color and per-pixel alpha (smooth transparency), so no palette or alpha-threshold choices are needed. Files are usually larger than GIF and take longer to encode, but gradients and transparent edges look cleaner. Support is good in modern browsers and many apps; check your target platform before use.
Static image export settings
- Image Width / Image Height: Controls the resolution of the exported PNG still frame.
The static image is saved as a PNG file into the same Export Location folder, with a filename based on the current model.