What is this"Cannot implicitly convert type `UnityEngine.Renderer' to `Renderer'"??

Today,When I’m open to my Sence,unity display error:Assets/My_Script/Anchor_Select_GUI01.cs(230,17): error CS0029: Cannot implicitly convert type UnityEngine.Renderer' to Renderer’This is my code:

    public Renderer MyRenderer;

    void Start()
    {

    }

    void Update()
    {
    }

    //Mouse enter
  public void OnMouseEnter()
    {

        if (MyRenderer ==  null)
        {
            if (transform.renderer != null)
            {
                MyRenderer = transform.renderer;
            }
            else
            {

                MyRenderer = transform.parent.renderer;
            }
            MyRenderer.enabled = true;
        }
        else
        {

            MyRenderer.enabled = true;

        }

    }

But it isn’t error in unity of ver2.6,where is error ?
thank all.:slight_smile:

You probably defined a type called “Renderer” and are trying to convert a UnityEngine.Renderer to your Renderer. Its like trying to convert an int to a bool – there is no implicitly defined method to handle the translation.

Change

public Renderer MyRenderer;

to

public UnityEngine.Renderer MyRenderer;

and life will be good.

1 Like

Thank you,andorov.
I’m modified the code ,It’s no problem.
but,I don’t know,my code have declared “using UnityEngine” ,It not be redundant with " UnityEngine.Renderer MyRenderer"?