Q:

unable to change color of point light after instantiating in prefab

I have a prefab for a point light to produce a glow around a sphere. Based on the "type" (health, personality, talent) the color of the glow has to change. Here's my code to do that - 
GameObject glow = (GameObject)Instantiate(glowPrefab,new Vector3(0,0,0),Quaternion.identity);
glow.transform.parent = child.transform;
glow.transform.localPosition = new Vector3(0,0,0);

switch(type)
{
    case "health":
    child.renderer.material = health;
    glow.GetComponent<Light>().color = new Color(254f,137f,96f,255f);
    //Debug.Log ("Health Color" + glow.light.color );
    break;

    case "personality":
    child.renderer.material = personality;
    glow.GetComponent<Light>().color = new Color(137f,254f,96f,255f);
    //Debug.Log ("Personality Color" + glow.GetComponent<Light>().color );
    break;

    case "talent":
    child.renderer.material = talent;
    glow.GetComponent<Light>().color = new Color(137f,96f,254f,255f);
    //Debug.Log ("Talent Color" + glow.GetComponent<Light>().color );
    break;
}

Although the debug.log shows that the light has changed, in the game, it is still white. 
What's funny is that, when it is run, the scene shows multicolored lights - 

But, in the game, the color is white - 

When I click on an individual light, the color is white - 

Even if I change the prefab color, the color of the lights is still white. 

How do I check where the color is being changed? Is there an event I can use for logging?
Thanks! 

A:

That'll be because you're passing in the wrong color data. UnityEngine.Color takes RGBA values between 0-1. YOu can either convert your values to the correct RGBA values or use UnityEngine.Color32 to specific 0-255 RGBA values.
glow.GetComponent<Light>().color = new Color32(254,137,96,255);
// OR
glow.GetComponent<Light>().color = new Color(1, 0.92, 0.016, 1); // Yellow
// OR
glow.GetComponent<Light>().color = new Color.yellow;

