This is something I should know the answer to by now, so I'm asking to clear up the gaps in my knowledge:
As I (re)learn about shaders, specifically in relation to Unity, I see all sorts of ways to create shaders/materials from within Unity to achieve various visual effects. (using Shader Forge / Shader Graph / manually writing ShaderLab or other shader languages).
I'm also aware that you can create shaders/materials from 3D modeling programs such as 3DS Max. My questions are: When would you choose one method over the other, or could you use both in conjunction? What is a normal workflow? Does material creation in Unity offer context-specific features that are not supported by modeling programs?