Why do I get this error while trying to create a color?

float red = .5F;
Color32 temp = new Color32(red, 0, 0, 0);

The best overloaded method match for `UnityEngine.Color32.Color32(byte, byte, byte, byte)' has some invalid arguments
Argument `#1' cannot convert `float' expression to type `byte'

from what i see in the documentation, I should be able to pass in a float as an argument of a new color…

Look closely it is setting Color32 to a new Color… not a new Color32, Color32 only accepts bytes not floats in its arguments

float red = 0.5f;
Color32 temp = new Color(red, 0, 0, 0);

No floats for Color32:

Each color component is a byte value with a range from 0 to 255.

docs:
http://docs.unity3d.com/412/Documentation/ScriptReference/Color32.html