C# and Shader Tutorials
for the Unity Engine
These tutorials teach you about C# and shader programming for Unity. They build on one another, introducing new programming concepts, math, algorithms, and Unity features. They're useful to both novice and experienced developers.
Become My Patron
Your support makes these tutorials possible! If you like them and want to see more, please become my patron, via Patreon or Ko-fi. You can also make a one-time donation.
Tutorials
There are multiple tutorial sections. You don't need to work through these sequentially, but some do build on each others. The Basics section lays the foundation for working with Unity and C# programming. The Rendering section covers the fundamentals of shader programming, followed by the Advanced Rendering tutorials.
Some tutorials are quite old. You will recognize them, because they have an obviously older page layout. Most tutorial are also created with Unity versions older than 2019 LTS, so the screenshots show an older editor UI, but they still work fine.
Latest Updates
Basics
These tutorials provide an introduction to working with Unity.
Pseudorandom Noise
A series about generating and using pseudorandom noise.
Procedural Meshes
A series about generating procedural meshes.
Pseudorandom Surfaces
A series about generating pseudorandom surfaces.
Prototypes
A series about creating small game prototypes.
Movement
A series about controlling the movement of a character.
Object Management
A series of tutorials that deal with creating, keeping track of, saving, and loading objects.
Tower Defense
A series about creating a simple grid-based tower defense game.
Flow
A collection of tutorials that cover the creation of flow effects, like water surfaces.
Custom SRP
A collection of tutorials about creating a custom scriptable render pipeline in Unity.
Rendering
A series about understanding Unity's default rendering pipeline. How a mesh turns into pixels that look like real objects.
Advanced Rendering
These are tutorials covering more complex or specialized rendering techniques, going beyond Unity's standard shaders. They build on the work done in the Rendering series.
Hex Map
A series about hexagon maps. Lots of strategy games use them.
Marching Squares
An old series about drawing and reconstructing shapes using a 2D grid. Why not Marching Cubes? Because the concepts are the same for both 2D and 3D, and dealing with two dimensions is already complex enough.
Mesh Basics
An old introduction to procedural meshes. From a simple grid to deformable balls.
Old Tutorials
Most of these tutorials are very old and are made with Unity 4 or 5 and haven't been updated for later versions. They might still have value, but you'll have to make adjustments yourself.
Questions & Answers
Have a question? Here are a few common ones. Click or touch the questions to see the answers. You can also contact me in various ways.