Catlike Coding

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.

One of many things you can make with Unity.

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

  1. Custom SRP 3.2.0
  2. Maze 3.0.0
  3. Custom SRP 3.1.0
  4. Hex Map 3.4.0
  5. Custom SRP 3.0.0
  6. Hex Map 3.3.0

Basics

These tutorials provide an introduction to working with Unity.

Basics

Pseudorandom Noise

A series about generating and using pseudorandom noise.

Pseudorandom Noise

Procedural Meshes

A series about generating procedural meshes.

Procedural Meshes

Pseudorandom Surfaces

A series about generating pseudorandom surfaces.

Pseudorandom Surfaces

Prototypes

A series about creating small game prototypes.

Prototypes

Movement

A series about controlling the movement of a character.

Movement

Object Management

A series of tutorials that deal with creating, keeping track of, saving, and loading objects.

Object Management

Tower Defense

A series about creating a simple grid-based tower defense game.

Tower Defense

Flow

A collection of tutorials that cover the creation of flow effects, like water surfaces.

Flow

Custom SRP

A collection of tutorials about creating a custom scriptable render pipeline in Unity.

Custom SRP

Rendering

A series about understanding Unity's default rendering pipeline. How a mesh turns into pixels that look like real objects.

Rendering

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.

Advanced Rendering

Hex Map

A series about hexagon maps. Lots of strategy games use them.

Hex Map

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.

Marching Squares

Mesh Basics

An old introduction to procedural meshes. From a simple grid to deformable balls.

Mesh Basics

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.

Old Tutorials

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.