Shader works in Editor Mode, breaks when running.

I have a shader that combines two textures based upon a projection matrix. This shader works fine in the editor but the uvs don't seem to map properly while the game is running. The texture is vertically compressed and tears at the bottom of the screen.

I rewrote the below shader as a cg shader and the effect was the same, vertically compressed and torn.

So what would cause a shader to behave differently in editor as opposed to in play mode in engine.

Shader "AngleCombine" {

    Properties {        
        _MainTex ("Base (RGB) Gloss(A)", 2D) = "white" {}   
        _Other("Other", 2D) = "white" { }
    }

    Subshader {
        Pass {
            SetTexture[_MainTex] { combine texture }

            SetTexture[_Other] {                
                matrix [_ProjMatrix]
                combine texture * previous DOUBLE
            }
        }
    }

    Subshader {
        Pass {
            SetTexture [_MainTex] { combine texture }
        }
    }

}

It would look like your _ProjMatrix might be the only possible culprist.

How do you process it? How do you set it?

The issue was caused by the matrix not properly transforming at non-zero values. I still don't know why it behaved differently in editor than in game (as the object is static and never moves).