trying to add a gradiant to text: Assets/ArcadeScripts/GradiantTextEffect.cs(18,30): error CS0131: The left-hand side of an assignment must be a variable, a property or an indexer

Hi trying to write a gradient script for UI-text cause dropping 75+ on a dddon for a simple thing that should come with unity is silly.
using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class GradiantTextEffect : MonoBehaviour {

	public GUIText YourTextHere;
	public Color OutlineColour;
	public Gradient YourTextHereGradiant;
	public float OutlineThickness;

	// Use this for initialization
	void Start () {
		YourTextHere.GetComponent (Color) = YourTextHereGradiant; // change the textcolour to the gradient.



Look back at the last four questions you asked for examples of how to use Get/AddComponent…

The syntax you are tripping up on concerns Generic Type Parameters :wink:

So in JS, one might do


And in thingy;

function thisMethod(arg){
  print arg;

In C# we need to worry about the Type of argument, e.g.

public void thisMethod(string arg){

But what if we didn’t know what the type was going to be, or we wanted “thisMethod” to handle strings, int, float, MyCustomObject etc as arguments?

We can help thisMethod by telling it what Type the argument is, by passing it as another parameter to thisMethod. It would be a reasonable guess to try this;

thingy.thisMethod(string, parameter); // wrong


thingy.thisMethod(typeof(parameter), parameter); // wrong*

but using Generics in C# the syntax actually looks like this;

thingy.thisMethod<string>(parameter);// ok

GetComponent only takes a Type as an argument and no other parameters, so it looks like this;


…and you might use it like this;

   WhateverType whateverTypeInstance = thingy.thisMethod<WhateverType>();

Back to your actual question. Reading and learning all that explains your syntax error, but you don’t need GetComponent as YourTextHere is a GUIText which already has a color property, so just do.

YourTextHere.color = ...

Your next problem is object type Gradient is not the same as object type Color, so all this won’t work anyway. Try looking at this answer and then reconsider if all this is “a simple thing that should come with unity” :wink: