Currently the shader folder is hardcoded to [UEInstall]/Engine/Shaders.
This is really impractical, as:
our codebase does not contain the UE codebase, meaning the created shaders won’t get in the version control system unless we put the file in our sources and manually copy it each time
immediate consequence: this will need every other dev/artist/whatever to copy that file by hand
Would it be possible that instead of just searching [UEInstall]/Engine/Shaders, the engine would also search in [GameDir]/Shaders first (or something in the like) ? (that way it is possible to override shaders per project).
If I understand correctly it would only need to change LoadShaderSourceFile inside ShaderCore.cpp - I can do that if it helps.
I asked this in the twitch feed last week. Basically it’s a very high priority and it’s part of the initiative to get code plugins into the marketplace. Sounds like somewhere past 4.7, so sometime early next year hopefully.
That could be very interesting ! Does it mean that just the location of shaders will be more configurable, or will the shader pipeline also be easier to modify (ie, no need to change a bazillion files just to get one shader) ?