docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class ColorSlider

    A slider component for selecting a color value from a gradient range.

    Inheritance
    object
    CallbackEventHandler
    Focusable
    VisualElement
    BaseVisualElement
    ExVisualElement
    BaseSlider<float, float>
    Slider<float, float, FloatField>
    SliderFloat
    ColorSlider
    Implements
    IEventHandler
    IResolvedStyle
    ITransform
    ITransitionAnimations
    IExperimentalFeatures
    IVisualElementScheduler
    IContextOverrideElement
    IAdditionalDataHolder
    IInputElement<float>
    IValidatableElement<float>
    INotifyValueChanging<float>
    INotifyValueChanged<float>
    IFormattable<float>
    Inherited Members
    Slider<float, float, FloatField>.ussClassName
    Slider<float, float, FloatField>.sliderControlUssClassName
    Slider<float, float, FloatField>.trackUssClassName
    Slider<float, float, FloatField>.markContainerUssClassName
    Slider<float, float, FloatField>.progressContainerUssClassName
    Slider<float, float, FloatField>.markUssClassName
    Slider<float, float, FloatField>.markLabelUssClassName
    Slider<float, float, FloatField>.progressUssClassName
    Slider<float, float, FloatField>.thumbsContainerUssClassName
    Slider<float, float, FloatField>.thumbUssClassName
    Slider<float, float, FloatField>.inputFieldUssClassName
    Slider<float, float, FloatField>.variantUssClassName
    Slider<float, float, FloatField>.showMarksUssClassName
    Slider<float, float, FloatField>.valueDisplayVariantUssClassName
    Slider<float, float, FloatField>.trackDisplayVariantUssClassName
    Slider<float, float, FloatField>.showMarks
    Slider<float, float, FloatField>.showMarksLabel
    Slider<float, float, FloatField>.customMarks
    Slider<float, float, FloatField>.displayValueLabel
    Slider<float, float, FloatField>.restrictedValues
    Slider<float, float, FloatField>.scale
    Slider<float, float, FloatField>.track
    Slider<float, float, FloatField>.showInputField
    Slider<float, float, FloatField>.contentContainer
    Slider<float, float, FloatField>.SetValueWithoutNotify(float)
    Slider<float, float, FloatField>.GetTrackDisplayTypeUssClassName(TrackDisplayType)
    Slider<float, float, FloatField>.GetValueDisplayModeUssClassName(ValueDisplayMode)
    Slider<float, float, FloatField>.GetOrientationClassName(Direction)
    BaseSlider<float, float>.lowValue
    BaseSlider<float, float>.highValue
    BaseSlider<float, float>.SetValueWithoutNotify(float)
    BaseSlider<float, float>.value
    BaseSlider<float, float>.formatString
    BaseSlider<float, float>.formatFunction
    BaseSlider<float, float>.invalid
    BaseSlider<float, float>.validateValue
    BaseSlider<float, float>.orientation
    BaseSlider<float, float>.step
    BaseSlider<float, float>.shiftStep
    BaseSlider<float, float>.swapThumbs
    BaseSlider<float, float>.comparer
    BaseSlider<float, float>.thumbComparer
    ExVisualElement.contentContainer
    ExVisualElement.outlineColor
    ExVisualElement.backgroundColor
    ExVisualElement.passMask
    BaseVisualElement.contextPrefix
    BaseVisualElement.scaleOverride
    BaseVisualElement.themeOverride
    BaseVisualElement.langOverride
    BaseVisualElement.layoutDirectionOverride
    BaseVisualElement.preferredTooltipPlacementOverride
    BaseVisualElement.tooltipDelayMsOverride
    BaseVisualElement.GetLayoutDirectionUssClassName(Dir)
    VisualElement.disabledUssClassName
    VisualElement.SetActivePseudoState(bool)
    VisualElement.SetCheckedPseudoState(bool)
    VisualElement.Focus()
    VisualElement.SendEvent(EventBase)
    VisualElement.SetEnabled(bool)
    VisualElement.MarkDirtyRepaint()
    VisualElement.IsMarkedForRepaint()
    VisualElement.ContainsPoint(Vector2)
    VisualElement.Overlaps(Rect)
    VisualElement.ToString()
    VisualElement.GetClasses()
    VisualElement.ClearClassList()
    VisualElement.AddToClassList(string)
    VisualElement.RemoveFromClassList(string)
    VisualElement.ToggleInClassList(string)
    VisualElement.EnableInClassList(string, bool)
    VisualElement.ClassListContains(string)
    VisualElement.FindAncestorUserData()
    VisualElement.SetBinding(BindingId, Binding)
    VisualElement.GetBinding(BindingId)
    VisualElement.TryGetBinding(BindingId, out Binding)
    VisualElement.GetBindingInfos()
    VisualElement.GetBindingInfos(List<BindingInfo>)
    VisualElement.HasBinding(BindingId)
    VisualElement.ClearBinding(BindingId)
    VisualElement.ClearBindings()
    VisualElement.GetHierarchicalDataSourceContext()
    VisualElement.GetDataSourceContext(BindingId)
    VisualElement.TryGetDataSourceContext(BindingId, out DataSourceContext)
    VisualElement.TryGetLastBindingToUIResult(in BindingId, out BindingResult)
    VisualElement.TryGetLastBindingToSourceResult(in BindingId, out BindingResult)
    VisualElement.Add(VisualElement)
    VisualElement.Insert(int, VisualElement)
    VisualElement.Remove(VisualElement)
    VisualElement.RemoveAt(int)
    VisualElement.Clear()
    VisualElement.ElementAt(int)
    VisualElement.IndexOf(VisualElement)
    VisualElement.Children()
    VisualElement.Sort(Comparison<VisualElement>)
    VisualElement.BringToFront()
    VisualElement.SendToBack()
    VisualElement.PlaceBehind(VisualElement)
    VisualElement.PlaceInFront(VisualElement)
    VisualElement.RemoveFromHierarchy()
    VisualElement.GetFirstOfType<T>()
    VisualElement.GetFirstAncestorOfType<T>()
    VisualElement.Contains(VisualElement)
    VisualElement.FindCommonAncestor(VisualElement)
    VisualElement.viewDataKey
    VisualElement.userData
    VisualElement.canGrabFocus
    VisualElement.focusController
    VisualElement.disablePlayModeTint
    VisualElement.usageHints
    VisualElement.transform
    VisualElement.scaledPixelsPerPoint
    VisualElement.layout
    VisualElement.contentRect
    VisualElement.worldBound
    VisualElement.localBound
    VisualElement.worldTransform
    VisualElement.hasActivePseudoState
    VisualElement.hasInactivePseudoState
    VisualElement.hasHoverPseudoState
    VisualElement.hasCheckedPseudoState
    VisualElement.hasEnabledPseudoState
    VisualElement.hasDisabledPseudoState
    VisualElement.hasFocusPseudoState
    VisualElement.hasRootPseudoState
    VisualElement.pickingMode
    VisualElement.name
    VisualElement.enabledInHierarchy
    VisualElement.enabledSelf
    VisualElement.languageDirection
    VisualElement.visible
    VisualElement.generateVisualContent
    VisualElement.dataSource
    VisualElement.dataSourcePath
    VisualElement.dataSourceType
    VisualElement.experimental
    VisualElement.hierarchy
    VisualElement.cacheAsBitmap
    VisualElement.parent
    VisualElement.panel
    VisualElement.visualTreeAssetSource
    VisualElement.this[int]
    VisualElement.childCount
    VisualElement.schedule
    VisualElement.style
    VisualElement.resolvedStyle
    VisualElement.customStyle
    VisualElement.styleSheets
    VisualElement.tooltip
    Focusable.Blur()
    Focusable.focusable
    Focusable.tabIndex
    Focusable.delegatesFocus
    CallbackEventHandler.RegisterCallback<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.RegisterCallbackOnce<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.RegisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TUserArgsType, TrickleDown)
    CallbackEventHandler.RegisterCallbackOnce<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TUserArgsType, TrickleDown)
    CallbackEventHandler.RegisterCallback<TEventType>(EventCallback<TEventType>, CallbackOptions)
    CallbackEventHandler.RegisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TUserArgsType, CallbackOptions)
    CallbackEventHandler.UnregisterCallback<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.UnregisterCallback<TEventType>(EventCallback<TEventType>, CallbackOptions)
    CallbackEventHandler.UnregisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TrickleDown)
    CallbackEventHandler.UnregisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, CallbackOptions)
    CallbackEventHandler.UnregisterAllRemovableCallbacks()
    CallbackEventHandler.HasTrickleDownHandlers()
    CallbackEventHandler.HasBubbleUpHandlers()
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: Unity.AppUI.UI
    Assembly: Unity.AppUI.dll
    Syntax
    [UxmlElement]
    public sealed class ColorSlider : SliderFloat, IEventHandler, IResolvedStyle, ITransform, ITransitionAnimations, IExperimentalFeatures, IVisualElementScheduler, IContextOverrideElement, IAdditionalDataHolder, IInputElement<float>, IValidatableElement<float>, INotifyValueChanging<float>, INotifyValueChanged<float>, IFormattable<float>
    Remarks

    The ColorSlider component enables users to select a color value by dragging a thumb along a track that displays a gradient. It extends the SliderFloat component and provides a visual way to pick colors from a defined color range.

    The slider displays a gradient track that can be customized to show different color transitions. Users can interact with the thumb to select any color value within the defined gradient range.

    Typical use cases include:

    • Color opacity/alpha selection
    • Color temperature adjustment
    • Color intensity control
    • Gradient-based value selection

    The component supports both mouse/touch input and keyboard navigation for precise color selection.

    Examples

    Basic color slider with default settings: Creating a basic color slider

    <UXML>
    <ColorSlider name="opacity-slider" />
    </UXML>
    

    <C#> var slider = new ColorSlider(); container.Add(slider);

    Color slider with custom gradient and value display: Creating a color slider with custom appearance and behavior

    <UXML>
    <ColorSlider
        display-value-label="On"
        track="On"
        show-marks="true"
        show-marks-label="true"
        color-range="Fixed:[(0,#FF0000FF),(1,#00FF00FF)]+[(0,1),(1,1)]"
    />
    </UXML>

    Color slider for alpha selection: Setting up a slider for opacity/alpha selection

    var slider = new ColorSlider();
    var gradient = new Gradient();
    gradient.SetKeys(
        new GradientColorKey[] {
            new(Color.white, 0),
            new(Color.white, 1)
        },
        new GradientAlphaKey[] {
            new(0, 0),
            new(1, 1)
        }
    );
    slider.colorRange = gradient;
    slider.displayValueLabel = ValueDisplayMode.Auto;
    slider.showMarks = true;
    container.Add(slider);

    Constructors

    ColorSlider()

    Default constructor.

    Declaration
    public ColorSlider()

    Fields

    ussClassName

    The ColorSlider main styling class.

    Declaration
    public const string ussClassName = "appui-color-slider"
    Field Value
    Type Description
    string

    Properties

    colorRange

    The current color range in the track.

    Declaration
    [CreateProperty]
    [UxmlAttribute]
    public Gradient colorRange { get; set; }
    Property Value
    Type Description
    Gradient

    colorValue

    The currently selected color value.

    Declaration
    [CreateProperty(ReadOnly = true)]
    public Color colorValue { get; }
    Property Value
    Type Description
    Color

    Methods

    InvokeValueChangedCallbacks()

    Called when the value of the slider has changed via the value property.

    Declaration
    protected override void InvokeValueChangedCallbacks()
    Overrides
    BaseSlider<float, float>.InvokeValueChangedCallbacks()

    RefreshUI()

    Refresh the UI of the slider. This is usually called during SetValueWithoutNotify(TValue) or directly in a setter of a bound property.

    Declaration
    protected override void RefreshUI()
    Overrides
    Slider<float, float, FloatField>.RefreshUI()

    Implements

    IEventHandler
    IResolvedStyle
    ITransform
    ITransitionAnimations
    IExperimentalFeatures
    IVisualElementScheduler
    IContextOverrideElement
    IAdditionalDataHolder
    IInputElement<TValue>
    IValidatableElement<TValue>
    INotifyValueChanging<TValue>
    INotifyValueChanged<T>
    IFormattable<TValue>

    Extension Methods

    NotifyValueChangingExtensions.RegisterValueChangingCallback<TValue>(INotifyValueChanging<TValue>, EventCallback<ChangingEvent<TValue>>)
    NotifyValueChangingExtensions.UnregisterValueChangingCallback<TValue>(INotifyValueChanging<TValue>, EventCallback<ChangingEvent<TValue>>)
    VisualElementExtensions.FindNavController(VisualElement)
    RegisterUpdateCallbackExtensions.RegisterUpdateCallback(VisualElement, EventCallback<UpdateEvent>)
    RegisterUpdateCallbackExtensions.UnregisterUpdateCallback(VisualElement, EventCallback<UpdateEvent>)
    VisualElementExtensions.EnableDynamicTransform(VisualElement, bool)
    VisualElementExtensions.EnablePicking(VisualElement, bool)
    VisualElementExtensions.GetChildren<T>(VisualElement, bool)
    VisualElementExtensions.GetContextProvider<T>(VisualElement)
    VisualElementExtensions.GetContextProvider<T>(VisualElement, string)
    VisualElementExtensions.GetContext<T>(VisualElement)
    VisualElementExtensions.GetContext<T>(VisualElement, string)
    VisualElementExtensions.GetExclusiveRootElement(VisualElement)
    VisualElementExtensions.GetLastAncestorOfType<T>(VisualElement)
    VisualElementExtensions.GetPreferredTooltipPlacement(VisualElement)
    VisualElementExtensions.GetSelfContext<T>(VisualElement)
    VisualElementExtensions.GetSelfContext<T>(VisualElement, string)
    VisualElementExtensions.GetTooltipContent(VisualElement)
    VisualElementExtensions.GetTooltipTemplate(VisualElement)
    VisualElementExtensions.HasAncestorOfType<T>(VisualElement, bool)
    VisualElementExtensions.HasAncestorsOfType<T>(VisualElement)
    VisualElementExtensions.IsContextProvider<T>(VisualElement)
    VisualElementExtensions.IsContextProvider<T>(VisualElement, string)
    VisualElementExtensions.IsInvisible(VisualElement)
    VisualElementExtensions.IsOnScreen(VisualElement)
    VisualElementExtensions.ProvideContext<T>(VisualElement, string, T)
    VisualElementExtensions.ProvideContext<T>(VisualElement, T)
    VisualElementExtensions.RegisterContextChangedCallback<T>(VisualElement, string, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.RegisterContextChangedCallback<T>(VisualElement, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.SetPreferredTooltipPlacement(VisualElement, OptionalEnum<PopoverPlacement>)
    VisualElementExtensions.SetTooltipContent(VisualElement, VisualElementExtensions.TooltipContentCallback)
    VisualElementExtensions.SetTooltipTemplate(VisualElement, VisualElement)
    VisualElementExtensions.UnregisterContextChangedCallback<T>(VisualElement, string, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.UnregisterContextChangedCallback<T>(VisualElement, EventCallback<ContextChangedEvent<T>>)
    In This Article
    Back to top
    Copyright © 2026 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)