docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class DefaultControls

    Utility class for creating default implementations of builtin UI controls.

    Inheritance
    object
    DefaultControls
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEngine.UI
    Assembly: UnityEngine.UI.dll
    Syntax
    public static class DefaultControls
    Remarks

    The recommended workflow for using UI controls with the UI system is to create a prefab for each type of control and instantiate those when needed. This way changes can be made to the prefabs which immediately have effect on all used instances.

    However, in certain cases there can be reasons to create UI controls entirely from code. The DefaultControls class provide methods to create each of the builtin UI controls. The resulting objects are the same as are obtained from using the corresponding UI menu entries in the GameObject menu in the Editor.

    An example use of this is creating menu items for custom new UI controls that mimics the ones that are builtin in Unity. Some such UI controls may contain other UI controls. For example, a scroll view contains scrollbars.By using the DefaultControls methods to create those parts, it is ensured that they are identical in look and setup to the ones provided in the menu items builtin with Unity.

    Note that the details of the setup of the UI controls created by the methods in this class may change with later revisions of the UI system.As such, they are not guaranteed to be 100% backwards compatible. It is recommended not to rely on the specific hierarchies of the GameObjects created by these methods, and limit your code to only interface with the root GameObject created by each method.

    Properties

    factory

    Declaration
    public static DefaultControls.IFactoryControls factory { get; set; }
    Property Value
    Type Description
    DefaultControls.IFactoryControls

    Methods

    CreateButton(Resources)

    Create the basic UI button.

    Declaration
    public static GameObject CreateButton(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) Button -Text

    CreateDropdown(Resources)

    Create the basic UI dropdown.

    Declaration
    public static GameObject CreateDropdown(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) Dropdown - Label - Arrow - Template - Viewport - Content - Item - Item Background - Item Checkmark - Item Label - Scrollbar - Sliding Area - Handle

    CreateImage(Resources)

    Create the basic UI Image.

    Declaration
    public static GameObject CreateImage(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) Image

    CreateInputField(Resources)

    Create the basic UI input field.

    Declaration
    public static GameObject CreateInputField(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) InputField - PlaceHolder - Text

    CreatePanel(Resources)

    Create the basic UI Panel.

    Declaration
    public static GameObject CreatePanel(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) Image

    CreateRawImage(Resources)

    Create the basic UI RawImage.

    Declaration
    public static GameObject CreateRawImage(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) RawImage

    CreateScrollView(Resources)

    Create the basic UI Scrollview.

    Declaration
    public static GameObject CreateScrollView(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) Scrollview - Viewport - Content - Scrollbar Horizontal - Sliding Area - Handle - Scrollbar Vertical - Sliding Area - Handle

    CreateScrollbar(Resources)

    Create the basic UI Scrollbar.

    Declaration
    public static GameObject CreateScrollbar(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) Scrollbar - Sliding Area - Handle

    CreateSlider(Resources)

    Create the basic UI Slider.

    Declaration
    public static GameObject CreateSlider(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) Slider - Background - Fill Area - Fill - Handle Slide Area - Handle

    CreateText(Resources)

    Create the basic UI Text.

    Declaration
    public static GameObject CreateText(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) Text

    CreateToggle(Resources)

    Create the basic UI Toggle.

    Declaration
    public static GameObject CreateToggle(DefaultControls.Resources resources)
    Parameters
    Type Name Description
    DefaultControls.Resources resources

    The resources to use for creation.

    Returns
    Type Description
    GameObject

    The root GameObject of the created element.

    Remarks

    Hierarchy: (root) Toggle - Background - Checkmark - Label


    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Properties
      • factory
    • Methods
      • CreateButton(Resources)
      • CreateDropdown(Resources)
      • CreateImage(Resources)
      • CreateInputField(Resources)
      • CreatePanel(Resources)
      • CreateRawImage(Resources)
      • CreateScrollView(Resources)
      • CreateScrollbar(Resources)
      • CreateSlider(Resources)
      • CreateText(Resources)
      • CreateToggle(Resources)
    Back to top
    Copyright © 2025 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)