Logo
UI Elements

Color Picker

A full featured color picker

Overview

Color Picker provides a complete color selection interface with radial or square picker modes, HSV sliders, an opacity slider, a hex input field, and an optional color preview. It supports drag based wheel selection, slider based adjustments, and color synchronization across all controls.

The component can output the final color through events and offers utility methods for setting RGB, HSV, and alpha values.

Preview


Properties

Settings

NameTypeDescription
resetOnRightClickboolResets to startColor when right clicking the wheel
startColorColorInitial color applied at startup
pickerTypeColorPickerTypePicker mode: None, Radial, or Square
wheelSizeTextureSizeResolution used to generate wheel texture

References

NameTypeDescription
colorWheelImageImage displaying the generated color wheel or square texture
colorPreviewImageVisual preview of the currently selected color
colorSelectorRectTransformHandle indicating the current hue and saturation
hexInputTMP_InputFieldOptional hex input (#RRGGBBAA)
hueSliderSliderSlider for hue control
hueGradientImageGradientGradient background for hue slider
saturationSliderSliderSlider for saturation control
saturationGradientImageGradientGradient background for saturation slider
brightnessSliderSliderSlider for brightness (value) control
brightnessGradientImageGradientGradient background for brightness slider
opacitySliderSliderSlider controlling alpha transparency
opacityGradientImageGradientGradient background for opacity slider

Events

NameTypeDescription
onColorChangedUnityEvent<Color>Invoked whenever the color changes

Public Methods

NameParametersDescription
SetColor(color)ColorSets color and updates all controls
GetCurrentColor(withoutBrightness)boolGets current color, optionally ignoring brightness
SetRGB(r, g, b)float, float, floatSets color via RGB values
SetRed(value)floatSets only the red channel
SetGreen(value)floatSets only the green channel
SetBlue(value)floatSets only the blue channel
SetAlpha(value)floatSets only the alpha value

Code Example

ColorPickerExample.cs
using UnityEngine;
using Evo.UI;

public class ColorPickerExample : MonoBehaviour
{
    public ColorPicker picker;

    void Start()
    {
        // Listen to color changes
        picker.onColorChanged.AddListener(color =>
        {
            Debug.Log("New color: " + color);
        });

        // Set color
        picker.SetColor(Color.red);

        // Edit RGB directly
        picker.SetRGB(0.2f, 0.8f, 0.3f);

        // Set alpha
        picker.SetAlpha(0.5f);

        // Read current color
        Color selected = picker.GetCurrentColor();
        Debug.Log("Selected color: " + selected);
    }
}

On this page