We showcase a paid Unity asset to easily check for z-fighting among brushes.
Z-fighting is one of those small visual problems that can easily slip through the cracks until late in development. When two surfaces overlap and flicker on screen, it instantly pulls players out of the experience, yet it is not always obvious in the Unity Editor. If you work with dense environments, modular meshes, or layered geometry, catching these issues early can save a lot of cleanup time.
ZFighter, created by
StudioCyFi, is a tool designed to help you find and manage potential z-fighting in your Unity scenes by analyzing meshes and highlighting areas where overlapping surfaces may occur.
ZFighter analyzes all meshes in the scene and identifies areas where z-fighting may happen. Each detected issue is sorted into a list that you can review, manage, and update as you work. The interface is built to be friendly for artists, with adjustable detection settings suitable for different scene types.
When processing is complete, ZFighter highlights potential z-fighting areas in the Scene view using contrasting front-face and back-face colors. These overlap visuals can be shown, hidden, or focused individually for inspection.
You can annotate each issue, which helps track work or communicate with collaborators. The tool also supports workflows such as using Volumes to isolate regions and performing quick re-checks to update results during iteration.
ZFighter follows a simple workflow to get started:
- Initialize the scene from Tools → ZFighter
- Adjust detection settings when needed
- Process the scene to generate a list of issues
- Review issues visually in the Scene view or through the Issues List
- Fix objects and use Re-Check or Process Scene to update results
(ZFighter supports the Built-in, URP, and HDRP pipelines in Unity 2022.3.22f1 and above.)
ZFighter could help you:
- Identify overlapping geometry in large scenes
- Track and resolve flickering surfaces
- Organize scene cleanup with annotations
- Maintain visual consistency in complex environments
- Review problem areas during level design or art passes
The tool includes advanced options like Exclusions, sensitivity presets, Volumes, and customizable visualization settings, allowing it to adapt to different scene types and workflows. (
Documentation)
🎥 Here is a 30 minute tutorial covering the full workflow, along with tips and tricks from the author:
- Mesh Checker: Mesh Checker is a Unity asset that analyses static meshes for topology, size, bounds, and potential geometry issues (including but not limited to overlapping or problematic geometry).
Differences: While Mesh Checker covers a broad set of mesh-analysis tasks (topology, bounds, etc), it is less targeted than ZFighter for z-fighting specifically. It doesn’t seem to provide scene-wide automatic detection of overlapping geometry the same way ZFighter claims to.
- Mesh Face Optimization: This tool removes hidden or unnecessary faces from static meshes, helping clean up internal geometry and reduce triangle count in heavy assets.
Differences: It improves mesh cleanliness but does not detect z-fighting or overlapping co-planar surfaces like ZFighter does. It’s a geometry-cleanup tool, not an artifact-detection tool, so it reduces the chance of z-fighting but cannot identify flicker-prone areas directly.
Unity Built-in Tip:
Adjusting your
camera clipping planes can help reduce z-fighting in distant objects. Decreasing the distance between the near and far clipping planes increases depth buffer precision, which may resolve certain cases of z-fighting without requiring mesh changes. (
More documentation)
Learn how to design custom inspectors, layouts, and UI extensions, add menus and dialogs, and unlock the full potential of editor customization.