Shader Development from Scratch for Unity with Cg

A strong catalyst for learning shader syntax, theory, and math

What are shaders? Shaders are what create the look of your game. Learning to write your own shaders is important if you want to separate your game from the rest. Cel shading, scrolling UVs, vertex extrusion, the rendering pipeline? These are all scary sounding terms to the uninitiated, and are by no means an easy thing to outright learn without the right resources. To deepen my knowledge on the subject, I set my sights on author Penny de Byl’s online course Shader Development from Scratch for Unity with Cg. Here are my thoughts.

About the Author

Dr. Penny de Byl is a Unity veteran, authoring a wide array of books and courses. With a Ph.D in game A.I., she has taught as a Professor in Australia and Europe for 25 years. Some of her works include: Networking, 3D Animation, AI, Machine Learning, building Voxel worlds, C# programming, and more. This will be my first time reviewing one of her resources, which she was kind enough to provide, and this has been my second Udemy course overall.

Who is the Course For?

This is a fairly comprehensive introduction to shaders. Whether you’re new to shaders or looking to brush up your knowledge, you will benefit from this course. Note that shaders do involve a lot of mathematics, which the author covers well. The course has only 6.5 hours of video; however, don’t let this fool you, it will take you a lot longer to finish the course. I would estimate I spent about 5 hours per hour of video on things like experimentation, completing the challenge sections, and reviewing math.

Despite having read several shader resources, I still felt that this course provided me with a deeper understanding of shaders. It’s not that the course offers an example of every shader possible, but rather that it explained those covered at a higher level of detail. Instead of just giving a textbook definition of a concept, the author walks through every concept with such clarity, meticulousness, and overall teaching ability that it’s a breeze to follow along and further experiment independently. There is no hand-holding. It’s just top-notch communication.

Where the course really shines is with its superb coverage of shader theory, syntax, and mathematics. The surface shader section is the best example of this. A lot of effort is placed on understanding things such as how normals work, the math behind illumination models, the rendering pipeline, and plenty more. The vertex and fragment shader section is taught almost as well as surface shaders, but there was a slightly noticeable decline in how informed I felt after finishing. In addition, the advanced section suffers from the occasional hiccup in pacing, although I partly attributed this to the increased difficulty due to the culmination of concepts learned up to that point. Despite these blots in an otherwise perfect experience, I found myself in total engagement for the full course.

“Where the course really shines is with its superb coverage of shader theory, syntax, and mathematics.”

While the overall visual presentation is top notch, some of the animated effects can be counter-intuitive. I found the occasional bouncing arrow or text would completely pull me out of what I was reading. Fortunately, this doesn’t happen too often. On the other hand, I found the dark aesthetic and minimalism very refreshing. It allowed me to concentrate fully on the actual material.


Shader Development from Scratch is a robust package that offers ample opportunity to learn shaders, and despite the advanced sections being slightly below the rest of the course, the quality of teaching will leave you with a strong arsenal of shader skills.

I’m hoping for a 2.0 version of the course for Unity ’18 some time in the future. A section on the new Shader Graph would be especially valuable.




  • Superb coverage of shader theory, syntax, maths
  • Beginner-friendly
  • Author breaks down code into digestible parts
  • Good pacing overall
  • Good use of “gotchas” (common mistakes for beginners)
  • Unity 2017
  • Challenge sections and quizzes motivate review and further learning
  • Author active in forums (QA)
  • Author highlights important visual information with editing tools
  • No detail glanced over


  • Some presentation effects distract
  • Advanced section slightly flat compared to surface section



Get the Course –

More from the author –