Is there a way to switch material surface types based on ES2 compatibility?

Hello,
I’m building a version of a game designed for both VR Desktop and VR Mobile. On desktop, I’m using a lot of translucency and dynamic lighting (within performance limitations). However, on mobile, none of this converts well, and so i would like to switch the shader type from translucent to opaque where necessary in the root materials. Is there a way to do this in the shader, or does it just make more sense to create an alternate set of materials and apply at runtime if a mobile platform is detected? (Oculus Rift vs Oculus Go)