worldToCameraMatrix updates transformation but not lighting and shader...

Hi,
I am setting my own view and projection matrices like this within Update()

	camera.projectionMatrix = mp;
	camera.worldToCameraMatrix = mv;

This works very nicely to position my camera view as I require; however, the rendering is not correct because as I move the camera around with this method, the lighting, shadows and everything with my shader remains constant. It is like the rendering is constantly done from the original camera position even though the camera is obviously being adjusted by my matrices. If I control the camera through translate and rotate, then the shading updates properly.

Any ideas how to fix this?

This is an expected behavior when you manipulate directly the worldToCameraMatrix attribute instead of “moving” the camera using its transform attribute :

If you change this matrix, the camera
no longer updates its rendering based
on its Transform. This lasts until you
call ResetWorldToCameraMatrix.
Unity - Scripting API: Camera.worldToCameraMatrix

I guess your shaders rely on the transformations applied to the camera which in this case are never updated.