People everywhere warn against ubershaders, but I felt I needed to make that mistake personally. This is a work in progress, consider it "public beta" at this point. Comments/bugs very welcome. Rationale: Much of the work I do is very fast-paced, sometimes just a couple of hours from start to delivery. The stock materials are nice but not always flexible enough, and wiring up new ones from scratch is often too time-consuming. Hence this try at a generic-use material that could be used for the majority of surfaces needed (but of course not all). This is my first take on an ubershader, I knew from the onset that I will redo it a couple of times. Having now done it once I have a much better idea on how to make it more modular, and what kind of modules it perhaps should consist of. Maybe I should've waited until v2 before posting this, but it might be some time before I have the time again, plus it's good to get other opinions - and maybe this can be of use to someone already. Pros: - ramp usage, mostly copied from lightwave gradients - grit, accessibility shading - exported buffers listed in gui - beginnings of modularity/abstraction (procedurals defined independently and then referenced into by different surface attributes) Cons: - I've grown a bit dissatisfied with the overall structure of the shader, both ui and inside - not nearly enough modularity/abstraction - the reflection/refraction setup is perhaps a bit clumsy - Sometimes mantra crashes when doing glass and rendering with many threads, i still haven't found the cause eetu.