Tutorialspoint

This Black Friday, Get lowest Price Ever! Use: BFS8

Learn Unity Shaders from Scratch

person icon Nicholas Lever

4.7

Learn Unity Shaders from Scratch

A complete guide to Unity ShaderLab and the HLSL Shading Language

updated on icon Updated on Sep, 2024

language icon Language - English

person icon Nicholas Lever

English [CC]

category icon Development ,Game Development,Unity

Lectures -53

Resources -1

Duration -4 hours

Lifetime Access

4.7

price-loader

Lifetime Access

30-days Money-Back Guarantee

Training 5 or more people ?

Get your team access to 10000+ top Tutorials Point courses anytime, anywhere.

Course Description

In this course, we're going to look at Unity ShaderLab and the HLSL shading language to create amazing shaders.

Maybe you are:

  • A developer struggling to bring to life a particular game feature because it needs a custom shader.

  • A developer who always wanted to create custom shaders but was too scared to start.

  • A developer wants to add some custom post-processing effects to your 3d renders.

Unity ShaderLab is how you create custom shaders. It comes in 3 flavours, fixed function, vertex-fragment and surface shaders. We won't be looking at the fixed function route in this course as it is effectively a legacy option and you want to learn modern best practices. The code syntax is based on the C language, but fear not, we will assume you have literally no knowledge of this language at all and we will, as the course title states, learn this from scratch. A shader uses the GPU ( the Graphics Processing Unit) to handle multiple programs at the same time, so it is unbelievably fast.

We will start with really simple examples and progress slowly through each stage of developing a custom shader. You will be able to play with the shader code using Visual Studio, or another code editor if you prefer. You can experiment with different values to see the impact it has on the end result.

Unity shaders are split into vertex shaders and fragment shaders and we will focus initially on the fragment shader, working essentially in a 2d environment. With dozens of shaders in the course resources you will learn the language in gentle stages. Before moving on use Unity's surface shader syntax to easily include complex lighting.

Once you're comfortable with simple shaders we will cover advanced effects such as tessellation, transparency, using the stencil buffer and post-processing.

Creating your own shaders means understanding the HLSL language and that is the aim of the course. You could search for a suitable shader on ShaderToy or ShaderFrog and then try to adapt the code. But without knowing the language you're going to find that difficult to do. To really be effective you need to know about the language, shaping functions, tiling and lighting calculations. To do this you will need to follow along with the course and complete the many challenges suggested. In the end, you will then be able to create any shader that you can imagine.

As usual, there is a 30-day money-back guarantee. So you have nothing to lose. Let's get shading today!

What students say about the course:

"Great course. Took this as a refresher to get back into shaders. Everything you need is provided. Both starting scenes for each lecture and also completed ones if you get stuck with code errors. Nice learning curve. Everything is well explained. No long boring slideshows. Also plenty of challenges, which I like and find very useful in assisting your learning. Very clear audio and code. So no problems following along and plenty to take in. Also, Nicholas is very helpful with your Q&A. Highly recommended."

"The information presented in this course is fantastic. The tutor has a great personality, and I can’t stress enough how enjoyable he makes this course."

"It is fantastic. You need a little bit of math to understand it better but with attention and repetition, it will be easy for anyone. Thanks a lot, professor!"

and what students say about my GLSL Shader course

"A great course! Methodical, step-by-step explanations not only of the GLSL but also of the general theory behind shaders, usable with any shader system. Essential if you are into computer graphics or generative art. Thank you!"

"I've tried to pick up shaders in the past but found it quite difficult. Unlike other resources I've found, this course was the course that finally helped me get a much better grasp of glsl. It is well-structured and very informative. I would recommend it to anyone looking to pick up glsl."

Who is this course for?

  • Unity developers need to go beyond the shaders available on the platform.
  • Developers keen to learn the CG shading language for other development platforms such as Unreal.


Goals

  • The mysteries of writing Unity shaders.
  • You will be gently introduced to how to approach the problem of creating a custom shader.
  • You will learn the full details of the CG shader language.
  • You will learn to use the Surface Shader syntax to add custom shaders on top of Unity lighting.
  • You will start with simple unlit 2D shaders and work up to advanced effects such as volumetric shaders and clipping.

Prerequisites

  • All you need is a copy of Unity, which is freely available to students.
  • Knowledge of the basics of using Unity is assumed, and this is readily available through many online tutorials.
  • No knowledge of shaders is assumed.
  • A knowledge of a programming language would help but is not assumed.
Learn Unity Shaders from Scratch

Curriculum

Check out the detailed breakdown of what’s inside the course

Introduction
4 Lectures
  • play icon Welcome to the course 03:20 03:20
  • play icon Introduction 02:53 02:53
  • play icon Parallel Processing 01:48 01:48
  • play icon Cg is not C# 04:42 04:42
First Steps
5 Lectures
Tutorialspoint
Shaping Functions
13 Lectures
Tutorialspoint
Noise
3 Lectures
Tutorialspoint
Textures
3 Lectures
Tutorialspoint
Vertex shaders
3 Lectures
Tutorialspoint
Surface Shaders
9 Lectures
Tutorialspoint
Advanced effects
5 Lectures
Tutorialspoint
Transparent shaders
2 Lectures
Tutorialspoint
Volumetric Shaders
2 Lectures
Tutorialspoint
Post Processing
2 Lectures
Tutorialspoint
Conclusion
2 Lectures
Tutorialspoint

Instructor Details

Nicholas Lever

Nicholas Lever

After getting a degree in Graphic Design, I started work in 1980 as a cartoon animator. Buying a Sinclair ZX81 back in 1982 was the start of a migration to a full time programmer. The ZX81 was quickly swapped for the Sinclair Spectrum, a Z80 processor and a massive 48K of ram made this a much better computer to develop games. I developed a few games using Sinclair Basic and then Assembler. The Spectrum was swapped for a Commodore Amiga and I developed more games in the shareware market, moving to using C. At this stage it was essentially a hobby. Paid work was still animated commercials. 

I finally bought a PC in the early nineties and completed an Open University degree in Maths and Computing. I created a sprite library ActiveX control and authored my first book, aimed at getting designers into programming. In the mid nineties along came Flash and the company I was now running, Catalyst Pictures, became known for creating games. 

Since then the majority of my working life has been creating games, first in Flash and Director, as Director published the first widely available 3D library that would run in a browser using a plugin. 

In recent years game development has involved using HTML5 and Canvas. Using both custom code and various libraries. A particular preference is to use the latest version of Adobe Flash, now called Animate that exports to the Javascript library Createjs. 

I've worked for the BBC. Johnson and Johnson. Deloitte, Mars Corporation and many other blue chip clients. The company I've run for over 30 years has won a number of awards and been nominated for a BAFTA twice, the UK equivalent to the Oscar. 

Over the last 20 years I have been struck by just how difficult it has been to get good developers and have decided to do something about this rather than just complain. I run a CodeClub for kids 9-13 years old and I'm developing a number of courses for Tutorialspoint hoping to inspire and educate new developers. Most of my courses involve real-time 3d either using the popular Open Source library Three.JS or Unity. I'm currently having a lot of fun developing WebXR games and playing with my Oculus Quest.

Course Certificate

Use your certificate to make a career change or to advance in your current career.

sample Tutorialspoint certificate

Our students work
with the Best

Related Video Courses

View More

Annual Membership

Become a valued member of Tutorials Point and enjoy unlimited access to our vast library of top-rated Video Courses

Subscribe now
Annual Membership

Online Certifications

Master prominent technologies at full length and become a valued certified professional.

Explore Now
Online Certifications

Talk to us

1800-202-0515