I am attempting to implement a custom shading model into a custom fork of Unreal Engine 5.4.4. I am following various articles and documentation on this, but most of it seems to be for older versions of the engine.
So far, I am working on getting the shading model appearing in the material editor, but 5.4.4 seems to be fighting against me, and it simply does not appear.
I have tested the same engine modifications on 5.1.0 and the shading model appears and is usable.
- The engine modifications are as follows:
inEngineTypes.h
- Add value to enum
EMaterialShadingModel
inMaterialShader.cpp
- Implement new enum value at
GetShadingModelString
- Add the model to the
else if
statement inUpdateMaterialShaderCompilingStats
inShaderMaterial.h
- Add
uint8
value toFShaderMaterialPropertyDefines
inMaterialExpressionShadingModel.h
- Add enum value from
EngineTypes.h
to UProperty metadata ofShadingModel
Is there something between 5.1.0 and 5.4.4 that changed the way shading models were set up? If so, what else needs to be added? Is it because there is no actual HLSL connected to the model and that makes 5.4.4 ignore it?
I have tried to CRTL+F through the engine code to find instances of hard-coded shading models and also had no luck. Is there something I’m missing?
Thanks, any help is appreciated!