Dark Theme

Click here for TexEdit+ on the Unity Asset Store



Description

TexEdit+ is the ultimate time-saving tool for any Unity developer who works with textures and other assets. With its seamless bulk or single-object editing for all tools, TexEdit+ lets you accomplish tedious and repetitive editing tasks in just a few clicks, saving you hours of valuable time.

Designed to be both simple and incredibly powerful, TexEdit+ is packed with features that make editing textures, sprites, assets, and files a breeze. You can even apply texture effects at runtime using the included API.

Whether you're a seasoned Unity developer or just starting out, TexEdit+ is the tool you need to streamline your workflow and take your projects to the next level. Apply effects to batches of sprites in just a few clicks instead of editting each sprite individually. Renaming groups of assets or moving them to different folders can now be done in seconds, instead of renaming files and folders one by one.

Say goodbye to tedious and repetitive tasks and "Hello!" to TexEdit+! This essential tool offers an efficient solution to editing and managing assets, textures, and sprites with ease.

Features:

Tools Included:

Links

Guides

This quick start guide is intended to get you using TexEdit+ as quickly as possible.

Trailers

TexEdit+ is the ultimate time-saving tool for easy bulk and single-object editing of textures, assets, and other files; includes texture effects, renaming, sprite editing, and more.

Getting Started

Getting started with TexEdit+ is straightforward. To begin, navigate to the top bar and choose Tools > TexEdit+. This will open the TexEdit+ window. Inside the window, select the tool you need and fill in the required inputs with the textures or objects you want to edit. You can choose how to output the results, adjust the settings, and preview the changes you've made. Once you're satisfied with the settings, click "Confirm" to initiate the operation. It's that easy!

Tool Overview

General

The general section contains tools for editting various kinds of objects, not just textures. It contains 4 tools.

Rename Assets: Allows you to rename any assets in the project.

Rename Files: Allows you to rename files that are inside or outside of the project.

Move Assets: Allows you to move assets from one location within the project to another.

Copy Sprite Data: Allows you to copy data between sprites. This allows for one-to-many copying, or for many-to-many copying. Allows you to copy pivots, physics colliders, borders, and riggings (sprite mesh and bones).

Sprite Separator: Allows you to extract textures from a sprite sheet. This will iterate through every sprite in the input textures and output them to their own texture asset.

Combination

The combination section contains tools for texture effects that require multiple inputs per output. It contains 4 tools.

Mask: Allows you to apply a mask to the input textures using a seperate mask texture.

Overlay: Allows you to overlay a seperate texture on top of each input texture.

Blend: Allows you to blend between a pair of textures dependent on their alpha channels.

Channel Pack: Allows you to create a new texture that is the result of combining the channels of up to four different input textures.

Grid Packer: Allows you to pack multiple textures together into a spritesheet/grid.

Effects

The effects section contains tools that apply various visual effects to textures. It contains 6 tools.

Drop Shadow: Allows you to generate a drop shadow effect from textures.

Blur: Allows you to preform a Guassian blur on the textures.

Crop: Allows you to automatically or manually crop textures.

Outline: Allows you to generate an outline for textures created using a sobel filter.

Flip: Allows you to horizontally or vertically flip textures.

Rotate: Allows you to rotate textures.

Colors

The effects section contains tools that apply color related visual effects to textures. It contains 6 tools.

HSV Offset: Allows you to offset the Hue, Saturation, and Value of the textures.

RGBA Offset: Allows you to offset the Red, Green, Blue, and Alpha channels of the textures.

Gamma: Allows you to apply gamma correction to the textures.

Contrast: Allows you to adjust the contrast and the brightness of the textures.

Invert: Allows you to invert the colors of a texture.

Color Replace: Allows you to replace a specific color in the textures.

F.A.Q.

What is a regular expression/RegEx?

Regular Expressions (RegEx) are ways of describing certain patterns of text in a way that is far more powerful than just matching strings. They are widely used in programming and text processing to find and manipulate text based on certain rules.

Regex patterns are made up of special characters and symbols that represent certain types of characters or patterns in the text. For example, the symbol "." (a period) represents any single character, while the symbol "*" represents zero or more occurrences of the preceding character or group. You can also use square brackets to match a single character out of a set or a range of characters.

Here are some regex examples:

Why are my textures getting resized to 2048x2048?

This is because of the Max Size attribute on the textures. Since TexEdit+ needs to read from textures, if the textures size is larger than the max size then the size that TexEdit+ reads will be clamped by the Max Size attribute. If you want to fix this issue, change the textures maximum size before using TexEdit+.

What is subdirectory matching?

Subdirectory matching is an output settings that allows you use inputs from some directory structure, then output them in a way that matches that directory structure.

As an example, consider the following directory structure and selected inputs:

Example inputs
    
Assets/
    Inputs/
        RedTeam/
            RedArcher.png
            RedWarrior.png
            RedCleric.png
        BlueTeam/
            BlueArcher.png
            BlueWarrior.png
            BlueCleric.png

If you didn't select any subdirectory matching and attempted to output everything to the "Outputs" folder, then everything would be added directly into the Outputs folder.

Example output without subdirectory matching
    
Assets/
    Inputs/...
    Outputs/
        RedArcher.png
        RedWarrior.png
        RedCleric.png
        BlueArcher.png
        BlueWarrior.png
        BlueCleric.png

However if you set the subdirectory matching folder to match everything relative to "Assets/Inputs", then while outputting, it will attempt to place the outputs into the same subdirectories as the input, it will also create any missing folders while doing this.

Example output with subdirectory matching on Assets/Inputs
    
Assets/
    Inputs/...
    Outputs/
        RedTeam/
            RedArcher.png
            RedWarrior.png
            RedCleric.png
        BlueTeam/
            BlueArcher.png
            BlueWarrior.png
            BlueCleric.png

Why is Copy Sprite Data missing?

This is because the Copy Sprite Data tool requires you to have the official 2D Sprite package (com.unity.2d.sprite) installed in order to use it. Thus, to use this tool, navigate to your package manager (Window > Package Manager) and install the 2D Sprite package.

Runtime Usage

Applying texture effects using the runtime API is a straightforward process. All the functions for this are available in the TexEditPlus namespace, inside the TexEdit static class. Each tool has a function with the same name, and more detailed information about these functions can be found in Section 7 of the documentation.

Each function follows the same convention, with the following signature (with some small exceptions):

public static Texture2D %ToolFunctionName%(Texture2D input, %SettingsStruct% settings, string outputName = "")

Here, %ToolFunctionName% and %SettingsStruct% should be replaced with the actual name of the tool and the type of settings struct used to modify the tool, respectively.

Information about each specific settings struct can be found in section 7, however all settings structs contain a SettingsStruct.Default property for easily creating copies of the default settings. You can then modify each member of the settings in order to create the desired effect.

API Reference

All the code for TexEdit+ is under the TexEditPlus namespace.

Functions

All of these functions are contained inside the TexEdit static class.

Combination

public static Texture2D Mask(Texture2D input, MaskSettings settings, string outputName = "")

public static Texture2D Overlay(Texture2D input, OverlaySettings settings, string outputName = "")

public static Texture2D Blend(Texture2D input, BlendSettings settings, string outputName = "")

public static Texture2D ChannelPack(ChannelPackSettings settings, string outputName = "")

public static Texture2D GridPacker(Texture2D[] inputs, GridPackerSettings settings, string outputName = "")

Effects

public static Texture2D DropShadow(Texture2D input, DropShadowSettings settings, string outputName = "")

public static Texture2D GuassianBlur(Texture2D input, GuassianBlurSettings settings, string outputName = "")

public static Texture2D Crop(Texture2D input, CropSettings settings, string outputName = "")

public static Texture2D Crop(Texture2D input, CropSettings settings, out Vector2 minCropped, out Vector2 maxCropped, string outputName = "")

public static Texture2D Outline(Texture2D input, OutlineSettings settings, string outputName = "")

public static Texture2D Flip(Texture2D input, FlipSettings settings, string outputName = "")

public static Texture2D Rotate(Texture2D input, RotateSettings settings, string outputName = "")

Colors

public static Texture2D HSVOffset(Texture2D input, HSVOffsetSettings settings, string outputName = "")

public static Texture2D RGBAOffset(Texture2D input, RGBAOffsetSettings settings, string outputName = "")

public static Texture2D GammaCorrection(Texture2D input, GammaCorrectionSettings settings, string outputName = "")

public static Texture2D Contrast(Texture2D input, ContrastSettings settings, string outputName = "")

public static Texture2D Invert(Texture2D input, InvertSettings settings, string outputName = "")

public static Texture2D ColorReplace(Texture2D input, ColorReplaceSettings settings, string outputName = "")

Settings

Combination

public struct MaskSettings

public struct OverlaySettings

public struct BlendSettings

public struct ChannelPackSettings

public struct GridPackerSettings

Effects

public struct DropShadowSettings

public struct GuassianBlurSettings

public struct CropSettings

public struct OutlineSettings

public struct FlipSettings

public struct RotateSettings

Colors

public struct HSVOffsetSettings

public struct RGBAOffsetSettings

public struct GammaCorrectionSettings

public struct ContrastSettings

public struct InvertSettings

public struct ColorReplaceSettings

Contact Information

If you have any questions or inquires please email tiggy02@gmail.com.