TexturePacker 4.2.0 Update

2016-04-27 Andreas Loew


This update's main focus is on improving the usability of TexturePacker. We've cleaned up the UI, combined features, removed some unused stuff.

We've also added a simplified user interface for beginners — you can switch to the full UI with a single click on the Advanced settings. If you've already used TexturePacker you'll start with the well known full interface.

Better help

We've also improve the help in TexturePacker. Problems in your settings now have a prominent place in the center of the screen.

Solutions are presented to help you fix issues fast.

Fixing problems in your sprite sheet settings

Slow downloads? Use indexed PNGs (PNG-8)

What's the advantage of using indexed PNGs? It allows you to decrease your App size and / or download!

Indexed PNGs only use 256 colors instead of the whole palette. In many cases you won't see any difference between the full color sprite sheet and the reduced number of colors.

We've already added the support for indexed PNGs some time ago — including the high quality pngquant algorithm to reduce the colors of the sprites. But we've made one mistake: We've done a good job in hiding the feature from you!

The feature was hidden under the PixelFormat settings — as format INDEXED in TexturePacker 4.1.0 and before.

We've now added PNG-8 as new TextureFormat, PNG is not PNG-24.

Optimized sprites sheet: Faster downloads with 8 bit png images

Improved sprite sheet animation previewer

We've added the sprite sheet animation previewer with TexturePacker 4.1.0 and received a lot of positive feedback from it. It seems that many users really love the new feature.

The most requested feature for it was to change the background color of the preview window. Here it is:

Sprite sheet animation previewer

Support for ETC2, PVRTCII (PVRTC2), DXT1/5 (BC1/BC3) and cleanup

We've added new hardware compression formats for PVR files:

With this change we also cleanup the naming of the compression formats. Especially with the confusion of PVRTC2/PVRTC4 which was PVRTCI with 2bbp / 4bbp and not PVRTCII compression format.

We also changed the naming of other formats e.g. ETC1 and ETC1_ALPHA to ETC1_RGB and ETC1_RGBA to make clear which color channels are used in the file.

The old names are still available from command line to keep the compatibility with older versions.

Here's a complete list of all hardware compression formats, including old names

Format name Old format name Description File format
PVRTCI_2BPP_RGB PVRTC2 PVRTC1 with 2 bits per pixel without transparency PVR
PVRTCI_2BPP_RGBA PVRTC2_ALPHA PVRTC1 with 2 bits per pixel with transparency PVR
PVRTCI_4BPP_RGB PVRTC4 PVRTC1 with 4 bits per pixel without transparency PVR, ATF
PVRTCI_4BPP_RGBA PVRTC4_ALPHA PVRTC1 with 4 bits per pixel with transparency PVR, ATF
PVRTCII_2BPP PVRTC2 with 2 bits per pixel PVR
PVRTCII_4BPP PVRTC2 with 4 bits per pixel PVR
ETC1_RGB ETC1 ETC1 compressed colors of the sprite sheet PVR, ATF, PKM
ETC1_A Alpha channel of the sprite sheet, as gray scale image. PVR, PKM
ETC1_RGB_A ETC1_ALPHA Special mode for ATF files: ETC1 color channel + ETC1 transparency ATF
ETC2_RGB ETC2 compressed without transparency PVR
ETC2_RGBA ETC2 compressed with transparency PVR
DXT1 DXT1 / BC1 compressed without transparency PVR (only windows), ATF
DXT5 DXT5 / BC3 compressed without transparency PVR (only windows), ATF

Using ETC1 compression with transparency in your games

ETC1 compression can help you reduce the download and runtime memory of your game. The only big disadvantage is that it does not support transparency.

The trick is to save the alpha channel in a separate file and use both textures when rendering your sprites.

Use ETC1_RGB and ETC1_A pixel formats with PKM or PVR files to create your sprite sheets. Both sprite sheets will be identical as long as you choose the same settings in TexturePacker.

Color channels:

ETC1 compressed color channels of the  sprite sheet.

Transparency channel:

ETC1 compressed alpha mask of the sprite sheet.

User interface cleanup

TexturePacker has many option allowing you to adjust all kinds of aspects for your sprite sheet. But we found that the interface got cluttered over time.

Featues removed from the user interface

These features are still available from the TPS file and command line — but we've removed them from the UI.

Force word aligned

The checkbox Force word aligned is now merged into the Size constraints combo box.

Premultiply alpha, clean transparent pixels, reduce border artifacts

These settings are now merged into a new combo box called Alpha handling since they are all mutual exclusive.

Keep transparent pixels
Does not modify your transparen pixels. You should use this only if you place additional information in the alpha channel
Clean transparent pixels
Replaces all transparent pixels with transparent black. This will allow better compression of your textures. But: It might give you some artifacts (black halos around your sprites)
Reduce border artifacts AKA alpha bleeding
Fills transparent pixels with colors from the borders of the sprite. This reduces black halos around your sprites, but might increase the texture file size. This will not work with PNG-8.
Premultiply alpha
Multiplies all color values with the alpha value. Please check your game engine manual if this is supported. You should see dark shadows around your sprites if this is not supported in your game engine.


UTF-8 support

We've updated all data formats to use UTF-8 — especially JSON. The files were written in platform specific 8 bit encoding.

EaselJS / CreateJS

Animation frames are now written correctly.

MacOS X: Case sensitive file system support

TexturePacker now runs on MacOS X with case sensitive file system.


The newly introduced header and source file creation in TexturePacker 4.1.0 caused problems with the smart update. This is now fixed and TexturePacker should only re-build your files if changes are found.

Did you like the tutorial? Please share!