Shader

Built-in Effects Shader

How To Make A Retro VHS Effect Shader In Unity

For my latest prototype, I wanted to evoke a sense of analog nostalgia, gritty, unstable, and imperfect. Think lost tapes, old surveillance footage, or the glitchy intros of 80s sci-fi. A clean render wouldn’t cut it. I needed something with personality, something VHS.

To get there, I built a custom VHS effect shader that layers several imperfections: flickering scanlines, wobbly distortion, chromatic bleed, desaturation, and noise. Each is subtle on its own, but together they create a powerful mood cue. The effect isn’t just visual, it tells the player, this world is worn, haunted, and strange.

Here’s how it works, step by step.

BatchRendererGroup Rendering Shader

How To Write A Custom URP Shader With DOTS Instancing Support

I wanted to enhance the look of my boids BatchRendererGroup (BRG) sample with more suitable meshes instead of cubes. For that I decided to use a custom shader with some simple procedural vertex animation. For me, who hasn’t worked with URP or HDRP in production, this turned out to be quite a journey. So I am sharing the solution so you don’t have to spend your time.