title: Expression denotes a type where a variable, value is expected error
body: <p>I'm trying to change the colour of some materials in unity with the following code: </p>
  
  <pre><code>    public List&lt;GameObject&gt; targets = new List&lt;GameObject&gt;();
  public string name;
  public Color setToColor = Color.white;
  
  public Color ChangeObjectMaterialColour()
  {
  
      foreach(GameObject t in targets)
          if(t.renderer != null)
          {
              if(t.renderer.materials != null)
              {
                  foreach(Material m in t.renderer.materials)
                      if(m.name.Equals(name))
                          m.color = setToColor;
  
              }
          }
  
      return Color;
  }
  </code></pre>
  
  <p>The should take in a list of object I want to change the colour of (which I'll store in the list) and change it to the colour I specifiy. This code is stored in a serpeate class.</p>
  
  <p>Then in my other class where I'm calling this method I'm doing as follows:</p>
  
  <pre><code>private ChangeObjectColour colour;
  
  if(hit.collider.gameObject.tag == "Colour1")
  {           
      hit.collider.gameObject.renderer.material.color = colour.ChangeObjectMaterialColour();
  }
  </code></pre>
  
  <p>However this has resulted in the following error:</p>
  
  <blockquote>
    <p>Expression denotes a <code>type', where a</code>variable', <code>value' or</code>method group' was expected</p>
  </blockquote>
  
  <p>When I click on it, Unity takes me to <code>return Color;</code>at the end of my first method. </p>
  
  <p>How can I defeat this bug?</p>