Unreal Engine 4 comes with a lot of them already! I’m not currently using them in my projects since they have small scopes and I’m pretty much the only person touching that stuff. But later on after testing those shaders for a longer time I’ll have a better idea of what to keep and what I don’t need that much, so I’ll condense some stuff in functions.
Check out this thread where people weigh the pros and cons of this approach, might enlighten you a bit: