Download

Custom FMeshMaterialShader

I’m trying to create custom shader for a static mesh(vertex + pixel). It seems that there is no easy way how to do this in Unreal. There is no documentation describing the process and information on the forum is sparse and incomplete. The best source, as far as I know, is https://wiki.unrealengine.com/HLSL_Shaders, but there are several problems with approach presented in the demo.

  1. The shaders inherit from FGlobalShader and therefore cannot be used as vertex shader on a mesh.
  2. The output is passed into separate render target, which is then passed as texture parameter to a material. That result into downsampling(since the result depends on render target resolution) and its overall awkward(+ seems quite inefficient).

I would like to have shader similarly as it’s done in Unity to affect both, the mesh vertices and pixel color. Additionally, I would like to have ability to pass some uniform parameters to the shader, therefore I think it cannot be just a “custom node” in material.

Could someone please describe the steps to create “Hello world” FMeshMaterialShader child and bind it to a mesh material ?