Hi, At the moment, I have a surface shader, and a lighting function. I need to pass additional information to the lighting function, so I made a custom SurfaceOutput. Code (csharp): struct CustomSurfaceOutput { half3 Albedo; half3 Normal; half3 Emission; half3 SpecularNormal; //custom half Specular; half Gloss; half Alpha; //half2 RadianceMapUv; //outta space :( }; However, I've gotten to the point where I can't stuff any additional attributes into this struct (Unity keeps complaining about "Scannot locate suitable resource to bind parameter "blah blah"). Is there some way to add arbitrary data to this struct? PS. This space limitation might be created by gbuffer limitations in the deferred lighting model. If this is indeed the case, can I disable shader generation for deferred lighting or something?