A GPU-accelerated texture compositor. Procedurally fuse up to 4 PBR materials using noise-based splatting, or use Texture Bombing to scatter details. Create endless offline material variations.The Texture Splatting & Bombing Toolkit is a free, Editor-only utility for combining and modifying textures directly within Unity. Instead of bouncing between Unity and external image editors to make simple material variations or scatter surface details, this tool lets you bake multiple input textures into a single, flattened PBR texture set using GPU compute shaders. It provides a fast offline pipeline to create new variations out of the textures you already have.The Procedural CompositorThe tool allows you to assign up to four distinct texture sets and fuse them into a new material using two different assembly methods:Texture Splatting (Noise Blending): Combines layers using a master splat map driven by fractal (fBm) or cellular (Voronoi) noise. You can adjust the dominance, sharpness, and scaling of each layer to cross-fade them together (for example, blending a dirt texture into the cracks of a cobblestone material)Texture Bombing (Cloning): Takes a smaller input texture and stamps it across a background canvas. It applies randomized rotation, scale, and density to break up repetition and create an organic spread (for example, scattering pebbles, leaves, or damage decals across a floor).Masking & Tiling ControlsTo control how your materials blend, the toolkit provides a few procedural parameters:Noise Algorithms: Drive your splat maps using standard Fractal Brownian Motion (fBm) or Cellular (Voronoi) math.Domain Warping: Distort the noise coordinates to create marbled, swirling, or liquid-like shapes.Layer Dominance & Tiling: Adjust the percentage share of each layer. You can also independently tile the PBR inputs of each layer so their physical scales match before they are blended.Synchronized PBR BlendingThe compositor is built to handle complete physical material sets synchronously rather than just blending flat colors:Multi-Channel Auto-Slotting: Drag and drop folders of textures into the UI, and the engine will automatically parse the filenames to slot Albedo, Normal, Mask, and Height data into the correct channels.Reoriented Normal Mapping (RNM): Normal maps aren't just blended as standard color data. They are processed through a dedicated RNM kernel to properly preserve the steepness and curvature of the underlying tangent space vectors.Aspect Fill: If your input textures have different resolutions or aspect ratios, the tool center-crops them to match your target output bounds instead of destructively stretching the pixels.2D GPU Preview: Preview your blended materials in a dockable 2D window before committing to a disk bake, and save your procedural configurations as ScriptableObject presets for later use.Limitations & ScopeTo make sure this tool fits your workflow, please note its limitations:Input-Dependent Quality: This tool does not generate base PBR maps from scratch, and it won't make a low-quality texture look high-quality. It only blends what you feed it. The output quality depends entirely on your input textures.Not a 3D Painter: This operates strictly in 2D texture space. You cannot paint directly onto meshes or models like you would in dedicated 3D painting software.Editor-Only: This is an offline asset generation tool. It is not meant for generating materials dynamically at runtime during gameplay.A Note from the DeveloperI originally built this because I wanted a quick way to execute simple procedural blends without opening heavy external software. Since it helped my workflow, I'm releasing it for free. To help you test it out right away, the package includes a basic CPU-based procedural texture generator so you can experiment with the blending math without needing to import heavy sample textures.Using this with the Noise Texture GeneratorBecause this free compositor mixes existing images, your legal right to redistribute the output depends entirely on the licenses of your inputs. If you mix downloaded or scanned textures, you generally cannot sell the result on the Asset Store.If you are looking for a way to generate materials you fully own, this compositor pairs well with my paid Noise Texture Generator.That tool evaluates mathematical functions to bake out tileable PBR materials (Albedo, Normal, Height, AO, etc.) directly in Unity. Because those textures are synthesized from math, you retain full commercial ownership over the outputs. You can generate your base materials there, bring them into this compositor to splat or bomb them together, and safely use or sell the resulting variations without licensing concerns. You can also use the paid tool to generate custom 4D noises as unique masking layers for your existing textures.Finally, if you need a tool to help optimize your scene geometry, you can check out BurstLOD on my publisher page for generating Editor and runtime LODs.Technical DetailsAsset Specs & FormatAsset Type: Editor-only tool. It uses a custom Assembly Definition (.asmdef) and contains no runtime scripts, meaning it will not be included in or affect your compiled game builds.Dependencies: No third-party plugins or external dependencies are required. The tool outputs standard 2D .png files, so the generated textures are universally compatible with the Built-In Render Pipeline, URP, and HDRP.Demo Content: The package includes a basic CPU-based texture generator for local testing. This lets you try the compositor right away without bloating the package size with high-res sample images. The demo folder can be safely deleted at any time without breaking the tool.Architecture & ExecutionCompute Shaders: The core math—including fBm noise, Voronoi cellular distributions, domain warping, and texture bombing—is handled by HLSL Compute Shaders (.compute). This offloads the heavy multi-layer composition math from the CPU to the GPU.Normal Map Processing: The tool detects normal maps and avoids standard linear interpolation. Instead, it processes them using a Reoriented Normal Mapping (RNM) kernel to properly blend the tangent space vectors without flattening the detail.Asynchronous Export: Writing high-resolution textures to disk can lock up the Editor. To mitigate this, raw pixel data is encoded to PNG asynchronously using the C# Job System (IJob) and NativeArray buffers.Importer State Tracking: To accurately read raw pixel data, the script temporarily alters specific TextureImporter settings on your input files (such as disabling compression or sRGB). It tracks these modifications and automatically restores your original import settings as soon as the generation is complete.Memory Management: The "Delete Last Batch" utility performs a permanent file deletion directly from your disk that deliberately bypasses the Unity Undo stack. This prevents Editor memory bloat when you are rapidly iterating and deleting temporary texture tests.Licensing & RedistributionDerivative Works: The algorithms in this tool create derivative works based entirely on your input textures. Blending or modifying an existing texture does not override its original copyright.Commercial Use: You cannot legally package and resell textures generated by this tool on the Asset Store (or other marketplaces) unless the licenses of your original input textures explicitly allow for commercial redistribution of derivative works (such as textures you generate yourself from scratch using the Noise Texture Generator). You are responsible for ensuring you have the proper rights to use and distribute your inputs.




