I also had a D3DCompile error, but i managed to fix it by replacing HLSL hash function with material nodes. I’m guessing the problem of original function is that it’s getting Sin of Float2 which is not possible in Unreal for some reason. You can check it by doing simple test:
So i created this material function which is getting Sin before appending vector and replaced calls to Hash in TileFunction (its 3 of them in total). Now i don’t have the error.
I hope i didn’t mess matrix multiplication because i’m not really good in math
Btw, it’s recommended by Epic to always try using material graphs instead of custom expressions, because it’s better for performance and stability.