Tool for Optimizing Render Performance with Texture Atlassing in Unity 3D

One of the most common performance bottlenecks in Unity 3D projects is the number of draw calls required to render a scene. Every time the GPU switches between different textures or materials, the CPU has to issue a new draw call – adding overhead that can quickly pile up, especially on mobile devices and WebGL builds where performance is more constrained.

Texture atlassing is a proven technique to reduce this overhead by combining multiple smaller textures into a single, larger texture atlas. Instead of switching between separate materials, the GPU can render multiple objects in a single batch, significantly reducing draw calls and CPU workload.

This approach not only improves frame times but also helps with memory usage and loading efficiency, making it a key optimization step for games targeting platforms where performance and responsiveness are critical. In Unity, texture atlassing can be integrated into your pipeline with custom tooling or existing plugins, and when paired with mesh merging or GPU instancing, it becomes an essential part of any optimization strategy.

We developed a custom tool that analyzes materials used across scenes and prefabs, then automatically generates texture atlases along with optimized shaders and materials that utilize them in a highly efficient, hardcoded (by design) way.

Key Features

  • Non-invasive workflow – Can be added or removed at any time without impacting existing scenes. Developers continue to use the Unity Editor as usual, while all generation, merging, and optimization happen automatically during the build process or when preparing a live preview.
  • Live preview.
  • Custom configuration GUI.
  • Broad shader support – Automatic handling of commonly used shader types, with the option to extend functionality for custom shaders through code templates and configuration.

Results

This system significantly reduced per-frame CPU/GPU processing time, resulting in higher FPS, smoother gameplay, and more consistent performance across platforms.

Technologies Used:
Unity 3D, C#