Texture Tools - Remove white halos, resize, tweak HSL of your textures inside Unity!

Texture Tools is a plugin that enables you to tweak some aspects of your textures inside Unity. All filters/tasks run in a separate thread, so they don’t stop you from working on your game scenes.

Features:

Pixel Art Editor (NEW) - Create and edit sprites inside Unity; Import color palettes from PNG, GIF or Abode Swatch Exchange; Alpha compositing support; Multiple layers support; Multiple frames support (animated sprites); Export PNG sequence images;

SWF2PNG AIR App - Your MovieClip animations to png sequences without having to deal with messy registration points manually.

Solidify - Removes white halos from transparent textures. Solidify fixes the fully transparent pixels of your textures so they can be displayed properly when they are sampled by the engine.

Resize - Lanczos (great for reduction), HQ2X, HQ4X and HQ4X Smooth (great for enlarging pixel-art textures).

Photo Filters - InstaRetro, Sepia and Warm70s.
HSL - Hue, Saturation and Lightness/Luminance. This can be useful if you’re building for mobile and can’t afford a custom shader due its performance cost.

Unpack/cut sprite atlases - A fast way to use sprite-sheets from Tiled to your favorite 2d sprite plugin.

Batch Processing - All texture modifiers can do multiple textures at once.

All filters can be run in-game! Here’s an example. This is useful for editing avatars pictures inside your game.

Asset store link ($20)
Request a feature | Report a bug

See it in action (youtube):
Introduction
SWF2PNG
Pixel Art Editor (new)

What is planned for future versions:

  • Enhancements for the Pixel Art Editor (Onion skin, drag import more) [1.3.1];

Updated [v 1.0.1]:
Added (3) Photo Filters:

Sounds good…will look into it. Currently doing solidify in photoshop, so this will definitely help with speeding up the process…

Updated to 1.0.2:

Fixed a bug when the build target is iOS (iOS texture settings were causing problems on the filter batch);
Added an example scene (using filters on runtime);

Updated to 1.1.0:
New solidify algorithm (50x faster. Now 2048x2048+ textures are solidified fast enough);
New feature: Unpack/Cut texture/spriteatlas (useful for importing atlases from Tiled):

Submitted v1.2 (awaiting review).

New addition: SWF2PNG
Export MovieClips as PNG image sequences!

Hey, the solidify thingy is awesome! Thanks.

Thanks :slight_smile:

Coming soon:
Installer wizard that makes the usual 2d sprite plugins solidify its texture atlases after packing.

P.S.: Obviously, I won’t include any source code from these 3rd party plugins, it justs inserts the solidify batch at the bottom of the texture packer functions.

  • added issue tracking system support

Looks good! Purchased.

does it support ex2D, or would this be easy to add? just curious, its not a biggie for us as we’re only interested in saving a few minutes on not solidifying in ps.

It’s possible. Actually, it’s the first on the list to be integrated. It will be up probably by the next weekend.

Thanks!

Submitted v1.2.2:
Automatic solidify support for ex2D.

Next (v1.2.3 - soon):
Automatic solidify support for Sprite Manager 2.

good job

Automatic integration with ex2D:

720p/1080p

Could you tell me more about what you mean regarding spritesheets from tiled? I use tiled for tilemap editing. Do people using it to animate sprites?

Well, on Tiled you have fixed size sprites contained in a texture for tiling. If you’re going to be using the same sprites for your maps/levels in Unity, and if you’re using a 3rd party sprite plugin (ex2D, SM2, etc…) you will need to cut the sprites and name them properly (that’s what Texture Tools does automatically) so the 3rd party plugin can repack them. Now I don’t see that being used to animate something.

I’m just asking for my own information.

Is it considered a good practice to use (for example) ex2d sprites for tilemapped 2d? If so, is Unity3D’s automatic culling of objects outside of the camera’s view a reasonable way to handle performance when handling large tilemaps or should one keep an area around the player loaded and manage that manually?

One final question. The tiled functionality that you mentioned that can bring the tilesets into ex2d sprites. Can this be executed at runtime?

  1. Although the sprites are culled off, you would still have one GameObject per tile, at least, so if you’re loading and unloading levels at runtime, it’s best to use an object pool instead of Object.Instantiate(). Other than that, it should run fast withe the whole level loaded from a tile map.

  2. With some modification, yes. But why? Are your tilesets dynamic?

I’m just wondering how much time that this tool could offer me out of the box (prevent me from writing the code myself). My development build loads virtually everything at runtime. We can hit a button and have the tilemaps reload instantly, etc to make it easier to iterate. All of our tools are external (it fits for us).