Sign up ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I have created a default surface shader in unity and added a texture but it is not rendering. If i switch to a diffuse shader i see the texture but my shader is just black.

Shader "TestShader" {
    Properties {
        _MainTex ("Base (RGB)", 2D) = "white" {}
    SubShader {
        Tags { "RenderType"="Opaque" }
        LOD 200

        #pragma surface surf Lambert

        sampler2D _MainTex;

        struct Input {
            float2 uv_MainTex;

        void surf (Input IN, inout SurfaceOutput o) {
            half4 c = tex2D (_MainTex, IN.uv_MainTex); 
            o.Albedo = c.rgb;
            o.Alpha = c.a;
    FallBack "Diffuse"

Any idea's

share|improve this question

closed as off-topic by Josh Petrie Dec 16 '14 at 2:57

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about debugging a problem in your project must present a concise selection of code and context so as to allow a reader to diagnose the issue without needing to read all of your code or to engage in extensive back-and-forth dialog. For more information, see this meta thread." – Josh Petrie
If this question can be reworded to fit the rules in the help center, please edit the question.

why are you setting alpha output on an opaque shader? – Tetrad Mar 17 '12 at 14:33
Which rendering path are you using? – Will C May 19 '14 at 17:46

Browse other questions tagged or ask your own question.