Fortunately, material concepts translate really easily into HLSL when you start learning (but learn C++ first as HLSL is not forgiving) - gameplay programming in UE4 isn’t too bad either, since you’ll find you’re basically using the C++ functions that the blueprint nodes call 75% of the time, and stuff like math fits nicely on a single line rather than sprawling across multiple screens.