Shader Graph Custom Lighting (shadows for unlit graph)

Hey! Wrote this up as an answer to someone on the Unity Discord. I plan to extend this post further at a later date, but for now it's a bit of information about getting shadows to work in an Unlit Graph (basically this tweet thread but in post form and with improvements). I recommend reading …

Passing Particle System Data into Shadergraph (Custom Vertex Streams)

Intro This post provides information on how to use the Custom Vertex Streams option on the Particle System component (also called Shuriken) to pass per-particle data into the shader. Note that it won’t go over how to use the component itself but there are plenty of tutorials online – here’s one that looks well written. In …

Post Processing in the Universal RP

The Universal Render Pipeline (URP, previously known as Lightweight RP) uses an integrated Volume system for Post Processing effects, sometimes referred to as Post Processing V3 / PPv3. These effects include things like Bloom, Chromatic Aberration, Depth of Field, Color Adjustments, Tonemapping, Vignette, etc. Note that URP does not have Ambient Occlusion yet, it's on …

UV-Based Nodes

This post includes an introduction to using the Sample Texture 2D node and UV-based nodes such as Tiling And Offset, Rotate, Flipbook and Polar Coordinates. Note that I'm not going over warping effects such as the Radial Shear, Spherize and Twirl nodes. This post is already quite long and I think what those effects do …

Fresnel Effect

The shadergraph documentation defines this node as : “Fresnel Effect is the effect of differing reflectance on a surface depending on viewing angle, where as you approach the grazing angle more light is reflected. The Fresnel Effect node approximates this by calculating the angle between the surface normal and the view direction.” In other words, …

Voronoi

F1 Voronoi output, raised to a power of 2. Voronoi noise, also known as Cellular noise, or Worley noise is a type of noise based on cells, where each cell contains a single point offset by a random vector. For each pixel in the cell we obtain the distance to this point, and compare it …