Parallax Occlusion Mapping on mobile

From what I’ve been able to find, there is very little information about POM in general, but according to what I could find, POM is a supported feature on mobile. However, after switching from Shader Model 5 to Default High-End Mobile the effect is completely gone. Do I have to toggle something somewhere, or does it work differently? Is there some other way to fake it on mobile?


For anyone stumbling upon this, I have found a solution. Inside the blueprint for your material, doubleclick the POM-node to inspect it. There are switches for various platforms. Cut ties so that your end result looks like the image below for each output, and save. This will make POM function in the exact same way on Default High-End Mobile (OpenGLES 3.1, Metal and Vulkan). It will not however work in OpenGLES 2 as POM requires DDX and DDY-nodes which are not supported.

1 Like

Thank you! Your way works on mobile!

Hi, I’m using this solution to deploy a VR project on Oculus Quest 2.

Does anybody know how much does this effect impact performance?

(Personal tip: to avoid problems modifying an engine function, I duplicated it and put the clone in my Content folder.)

The effect has a highly variable cost depending on the number of samples, heightmap resolution, filtering method, etc. it can be fairly cheap, or extremely expensive.

1 Like