Looking for an Unreal-focused Shader course and any other pointers

Hello, I’ve been working for several years as a real-time 3D modeller across both Unity and Unreal, and I’m now interested in developing a more varied skill set with a view to working on more technical, boundary-pushing projects with a focus on things that are visually captivating and unique. My favorite types of game spaces are either mind-bending escher-esque landscapes, or smooshy, maleable ecologys, and I haven’t been able to get close enough to creating either with a standard 3d asset pipeline. I’m trying to develop the skill set to overcome this, and I feel that has to include more of an ability to develop procedural content and work smartly with shaders.

Around this time last year, I learnt the basics of C# and released a small game in Unity, with the idea that this was the slightly more accessible engine to use for starting to create procedural content, but then Unreal 5 was announced, and I decided to move over and do more or less the same with C++ and Unreal 4, because this looked like a more capable and exciting engine for what I ultimately wanted to create. I can now do basic things in Unreal with C++ and/or blueprints, and I feel like I’m much closer to being able to do some really interesting stuff.

I now feel like the missing part of my toolkit is a solid understanding of shaders, and as I’ve mentioned, most of the tutorials I’ve found on that subject are Unity-focused. I wanted to ask if anyone has suggestions for a shader tutorial series that goes from beginner to advanced in Unreal and with HLSL? I’m also open to any suggestions about the approach I’ve outlined above.

Check out my videos on YouTube (tharle vfx) and those of Ben Cloward - theyre more node based that hills but we’ve both done series on simple and advanced shaders in u4

1 Like

If you are looking for information on specific unreal shader graph nodes this playlist by Mathew Wadstein goes through a lot of them.

Thanks for all the suggestions, I’ll take a thorough look through but from first impressions, this isn’t what I’m looking for. I’ve been using the material editor for years and I’m not an expert, but I’d have little problem using it for most of what I can see in these tutorials. What I’m looking for is more of an in-depth explanation of the Unreal render process, and practical examples of how to manipulate this.

I found the following page in the documentation:

This might be the best place for me to start, but over the years I’ve really come to value a well-written tutorial series in getting to grips with new aspects of content creation, particularly where there’s a lot of new concepts, so I’m really hoping that something like that exists already. Apologies if it’s already there in the suggested links and I’ve missed it, but I couldn’t see a lot that looked relevant to what I’m trying to find out about.

I think you might struggle to find anything beyond bits and pieces. Most courses and tutorials tend to focus on materials, even though they aren’t not actually shaders. So if you want to dig into actual shaders, you’ll likelky have to lean heavily on the documentation and specific snippets here and there.

That’s probably not where you want to start – that’s very low-level engine stuff that few people ever touch.

You can do most shader-related work in the Unreal material editor without using HLSL at all. I’d focus on really understanding Unreal materials before going any deeper. They’re pretty similar to materials in other systems, so if you understand those, they should make sense.

Not sure about tutorials; I always just dive in and try to make whatever it is I’m making. Then, I find resources to fill in the details when I need them.

1 Like

Thanks for the suggestions, I haven’t looked properly at the material editor for a couple of years so some things might have changed, and also I’m trying to make sure I’ve got all the basics covered as I move towards more complex things. It may be that the material editor is capable of covering everything I want to do, but in the past there’s been points in my work where I’ve got stuck because it simply doesn’t cover enough.

For example, I’m interested in creating and rendering procedural meshes and effects, which I know isn’t just a matter of shaders, but it’d really help to know about that low level shader pipeline you’re talking about. I’ve also wanted to do some fractal based effects and again, I don’t know if material editor will cover everything I want to do there.

Yeah, I understand! Certainly not trying to discourage you from reading the docs. Maybe I should’ve phrased it differently: it’s more of a “right tool for the job” sorta thing.

That particular set of docs is mostly about the dynamic shader compilation system. Unreal has a feature which figures out which shaders it actually needs at any given time, compiles them, and puts them on the GPU. Hooking into that stuff is possible, but… it’s painful. I just spent the last two weeks making a simple change to light functions. There were only three lines of actual HLSL in two shaders; but integrating it took a lot of work. It’s just not designed to be user-extensible.

Modifying engine code is sorta the option of last resort. There’s usually far easier ways of doing things.

For procedural meshes and effects, maybe try Niagara? Niagara is ostensibly a particle system simulator; but in reality, you can pass anything through it. Niagara is usually the go-to system for anything procedural these days. Check out the Niagara levels in the Sample Content pack.

1 Like

Thanks for those pointers, would you be able to create something like Townscaper with Niagara?

I think you’d need to generate meshes for something like that.