Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


Get started with UI Builder

Understand the workflow to create UI in UI Builder by an example.
Read time 4 minutesLast updated 24 days ago

Want to learn how to create UI with UI Builder? Use this example to get started.
To create UI in the UI Builder:
  1. Create a new UI Document (UXML).
  2. Add elements to create your UI hierarchy.
  3. Set up attributes and style properties in the Inspector.
  4. When more than one element starts to need the same style properties, create USS style sheets and selectors.
  5. Test your UI and if you are satisfied with the results, extract inline style properties to USS classes.
  6. Save the UI Document (UXML).

Prerequisites

Before you start, get familiar with the following:

Example overview

This example creates the main view for the Create a list view runtime UI example. It creates a root element as the background, with two containers. One container holds the character name list and another holds the character details. In the character details container, you add background and foreground frames. Finally, you add two labels for the character name. This example won't create the character name list entry UI.

Final main view layout

Create the root element

Create a new project and then create a root visual element that covers the entire screen. Set your root element to have a background color and center all child elements in the middle of the screen.
  1. Create a project in Unity with any template.
  2. Select Window > UI Toolkit > UI Builder.
  3. In the UI Builder window, at the top left of the
    Viewport

    ?

    window, select File > New to create a new UXML document.

    UI Builder file menu

  4. Name it as
    MainView.uxml
    and save.
  5. Drag VisualElement from Library into the Hierarchy panel.

    Create new elements by dragging from the Library

    Tip
    You can also double-click a control to add it to the Hierarchy panel.

Create the parent container

Create a new VisualElement underneath the root element. This element becomes the parent container for the left and right sections of the UI.
  1. Drag VisualElement from Library to the root VisualElement in the Hierarchy panel.

    Add a child VisualElement

Create the character names list container

Add a ListView as the child element of the container to hold the character names.
  1. Drag a ListView from the Library to the container VisualElement in the Hierarchy panel.
  2. Select the element from the Hierarchy panel.
  3. In the
    Inspector

    ?

    panel, set Name to
    CharacterList
    .

    Background container with the empty element inside

Create the character details container

Add a new VisualElement under the same parent as the
#CharacterList
to hold the character details container. The purpose is that when the user selects a character from the list on the left, it displays the character's portrait, name, and class.
  1. Drag a VisualElement from the Library to the container element in the Hierarchy panel. This is the container to hold all the elements on the right.

Create a USS class for the border style

The character details container will use the same border styles as the character names list container. Create a USS class to apply to both containers.

Create the character portrait background

Add the individual UI controls to the character details container. The first step is to add the character portrait background.
  1. Drag VisualElement from Library to the character details container.

Create the character portrait foreground

Next in the character details container, add the foreground for an actual image.
  1. Drag VisualElement from Library to the character details container.
  2. Select the element from the Hierarchy panel.
  3. Set Name to
    CharacterPortrait
    .
  4. Set Flex > Grow to
    1
    , so that the image can use all the available space.
  5. Set Background > Scale Mode to
    scale-to-fit
    , so that you can scale the image to match the element size while keeping the correct aspect ratio.

    VisualElement for the portrait image

Create labels

Add two label controls to the character details container to display the selected character's name and class.
  1. Drag Label from Library to the character details container in the Hierarchy panel.
  2. Set
    Name
    to
    CharacterName
    .
  3. Drag Label from Library to the character details container in the Hierarchy panel.
  4. Set
    Name
    to
    CharacterClass
    .

    Add labels for name and class

  5. Select the
    #CharacterName
    element.
  6. Set Text > Font Style to
    B
    .
  7. Set Text > Size to
    18
    pixels.

    Change font settings

  8. In the Viewport window, select File > Save to save the changes to
    MainView.uxml
    .

Extract inline styles

In UI Builder, you can create elements and use inline styles only to experiment while the number of elements is still small. As you build a more complex UI, it's easier to manage styles using style sheets. You can extract inline styles to a style sheet in UI Builder.
  1. Select the root visual element.
  1. In the Viewport window, select File > Save.
If you want to continue to work on the Create a list view runtime UI example, you can repeat the steps to extract styles for all the other elements, and follow the instructions to create the example.

Additional resources