GLSL, precision specifiers

I’m trying to manually set precision specifiers (lowp/mediump) on uniform and varyings, but somewhere along the way a bunch of #defines are set and inserted which interfers with this (VERTEX_P, highp_vec3, etc). Is this Unitys doing and is there anyway to override it?

I guess you talk about unity3?

if so check out the glsl page, it will tell you which pragmas are still valid (most aren’t)

In unity iphone 1.x, there is no glsl support at all

Yes that would be Unity 3. In GLSL ES you can set a precision specifier in front of a variable (lowp/mediump/highp), but it seems Unity inserts highp by default making it impossible (compiler error) to set manually. It works like a charm using a simple GLES 2 program directly in XCode.