Shader - Emulator vs Device Inconsistency

I’ve altered the Mobile Bump Specular shader from the built-in shaders. The shader runs fine in the shader emulator with OpenGL ES 2.0 emulation however it doesn’t run on my iPhone 4 (and iPad) when set to OpenGL ES 2.0. The original Mobile Bump Specuar shader works just fine. It appears that the extra texture and texture lookup is causing it to stop working on the device.

There are no errors on the device, it just seems to ignore my shader code and render a vertexlit version of my main texture.

The shader is attached: 585532–20844–$Mobile-BumpSpecSimple.shader (1.1 KB)

Note: I’ve also posted this on Unity Answers.

There are plenty of things that aren’t emulated. I’ve logged bugs about it for many months, without improvement, but it would be nice if everyone else would try it too. iOS and console development are probably the only places where it is practical to hack emulation to work right.