How to Make a Heat Haze/Distortion Effect in Unity

Опубликовано: 25 Июль 2026
на канале: Max O'Didily
1,179
26

How to Make a Heat Haze/Distortion Effect in Unity (Simple)

Link to heat distortion shader code: https://pastebin.com/PQS72iQi
Links to heat distortion noise textures:
https://imgur.com/VnR2TPa
https://imgur.com/V6m8NPb

Link to how to make a noise texture in Paint.Net:    • How to Create Random Noise Texture In Pain...  

Greetings, in this tutorial, I’ll show you how to implement a custom heat distortion shader using a Render Texture, a Canvas Raw Image, and a noise texture to simulate atmospheric distortion — perfect for deserts, explosions, engines, or hot summer environments in your game!

This Unity tutorial on how to make a Heat Distortion effect in Unity will not cover how to write a shader, the shader is provided for you to copy and paste into the project. It will be briefly explained though.

This approach works on any render pipeline (Built-In, URP, or HDRP) and is ideal for developers who want a full-screen post-processing effect without needing to rely on Unity’s post-processing stack. The result is a stylized heat haze or wavy screen distortion that looks awesome and is performance-friendly.

What You’ll Learn in This Video:

How to render your camera to a Render Texture
How to display that texture using a Raw Image on a Canvas
How to generate and use a custom distortion noise texture
How to apply the shader to your entire screen output
How to tweak distortion speed and intensity

How It Works:

Camera to Render Texture
Set up your main camera to output to a Render Texture instead of rendering directly to the screen. This gives you a texture that we can apply effects to before showing it to the player.

Canvas & Raw Image
Create a Canvas in Screen Space - Overlay or Camera mode. Add a Raw Image UI element and assign the Render Texture to it, displaying the full camera view on-screen.

Distortion Noise Texture
Use a looping or tileable noise texture (e.g., grayscale Perlin or hand-made noise) to drive the distortion effect in your shader.

Links to heat distortion textures used in the video:
https://imgur.com/VnR2TPa
https://imgur.com/V6m8NPb

Heat Distortion Shader
Apply a custom ShaderLab shader (see full code below) to a Material, then assign that material to the Raw Image. The shader offsets the UVs of your render texture based on the noise texture, creating that signature heat shimmer effect.

Link to heat distortion shader code: https://pastebin.com/PQS72iQi

Thanks for watching this Unity tutorial on how to make a heat haze or heat distortion effect using a shader in Unity.

If this tutorial on how to make a heat distortion effect in Unity was useful, then be sure to subscribe for more Tutorials.

Use Cases:
Heat distortion near fire or lava
Jet engine heat shimmer
Mirage effects in deserts
Wavy underwater visuals
Psychedelic or dreamlike visual filters

Related Topics Covered:
heat wave shader Unity
Unity heat distortion effect
Unity camera render texture tutorial
ShaderLab tutorial
screen distortion Unity
noise texture shader Unity
full screen shader Unity UI
post-processing shader Unity URP/Built-In
Unity atmospheric visual effect
how to make heat haze in Unity

How to Make a Heat Haze/Distortion Effect in Unity (Simple)