Log-in required.

You are trying to access the internal Editor Foundations design system.
Sign-in with your Unity Google account to continue, or visit the public site.

Implementation references

An overview of implementation references.

Scripting API
Asset workflow
Typical workflow when you work with assets in Unity

Framing the Topic

Terminology

Asset
A representation of any item that can be used in your game or project. Assets can represent visual or audio elements in your project, and can be generated natively or outside of the Editor.
Authoring
Manipulating the data or properties for any type of in-game object.
Authoring content
Any interface element displayed to manipulate an in-game object.
Component
Components are the functional pieces of every GameObject.
Dedicated window
Any dockable window tailored for specific objects and authoring content. Asset properties are mainly manipulated in dedicated windows.
Focused Inspector window
A focused Inspector is a dedicated Inspector window for a specific GameObject, Unity component, or Asset. It always displays the properties of the item you opened it for, even when selection is lost.
GameObject
The fundamental object in the Editor scenes that represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it.
Overlays
Any floating panel in a window that uses the overlay API.
Panel
A section of a window. For example, the Preview panel in the Inspector window.
Window (View)
Any framed content that prompts a user for information or provides a functionality to let the user work in the Editor.

Core & Dedicated windows

The Hierarchy, Scene and Inspector views are core Editor windows, and these core windows are generally tailored for GameObject authoring workflows.

Dedicated windows are custom windows tailored to display authoring content for feature areas with custom authoring needs, and are mainly used for manipulating asset properties.

Dedicated windows can have a single panel displaying simple property controls, or multiple panels that have similar functionality as the core Hierarchy (custom menu views), Scene (custom canvases) or custom Inspector windows. (Animator, UI Builder, Timeline)

Authoring Contexts

How different types of in-game elements are manipulated is largely determined by the element's type and location, and the type of data that is being manipulated.

In a nutshell;

  • Core windows of the Editor are designed to support editing GameObjects, therefore when manipulating objects that solely exist on the Scene, supporting interfaces are shown in the Scene view overlays, or the Inspector view.
  • Assets are any type of independent files that are created within, or imported to your project. They are stored in your project’s Assets folder and are typically authored in more dedicated windows of the Editor, such as a custom dedicated window tailored for the asset / property type, or in the properties window.

Game Object Authoring

Authoring a cube in the Scene view shows Gizmo handles for basic manipulations and the Inspector view shows more complex manipulation are available.
Authoring a cube in the Scene view for visual manipulation and the Inspector shows more complex manipulation are possible.
GameObject
GameObjects are the fundamental objects in the Editor that represent characters, props and scenery. They are the building blocks for scenes and act as a container for functional components which determine how the GameObject looks, and what the GameObject does.

GameObjects exist exclusively in the project file, and represented solely on the Scene. Therefore the interfaces and tools that support object authoring are shown in the Scene view for visual manipulation, or the Inspector view where more complex manipulation is needed.

Asset Authoring

Inspector window shows Shader Graph asset information and provides various file options.
Inspector window shows Shader Graph asset information and gives various file options.
Assets
An asset is any item that you use in your Unity project to create your game or app. Assets can represent visual or audio elements in your project, such as 3D models, textures, sprites, sound effects, or music. Assets can also represent more abstract items such as color gradients, animation masks, or arbitrary text or numeric data for any use.
  • Assets are independent files, and they are authored in more dedicated windows of the Editor, such as a custom dedicated window.
  • Inspector type content for authoring an asset can alternatively be shown in the properties (focused Inspector) window where no custom window is needed.
  • When an asset is selected, the Inspector window shows the file information, import settings, and a dedicated button to open the authoring window for this asset.

Scene view

Scene view is where users work with content in the Unity Editor. Therefore the interfaces and tools that support visual manipulation of game objects or assets are shown in the Scene view in a spectrum of complexity:

Scene tools
  • Scene tools allow manipulating visual properties of the selected item by displaying various tools and interfaces in relation to the selection.
  • Scene tools are often manipulated by click and drag actions on their nodes, handles, or lines.
  • Tools can be selected and toggled via the main tools overlay.
Scene tool showing rotation handle Gizmo allowing to manually rotate the selected object.
Scene tool allowing to rotate the plant.
Overlays

User can inspect and manipulate properties in an Overlay UI in the Scene.

See more on Overlays ->

  • Authoring content shown in Overlays is determined by the selected object type. Overlay mode options are rendered / changed instantly as selection happens
  • Almost any Inspector control can be added in an Overlay UI.
  • If the user selects another object type, the existing overlay content can change.
  • The tools Overlay will show available mode toggles for the selected object above the standard GO tools.
Overlays presenting manipulation options for Splines-specific Gizmos.
Overlays presenting options for Splines
Scene isolation
  • Isolation in Scene view can be activated by using Tool toggles shown in the Tools Overlay contextually (e.g. selecting an object with Splines shows spline edit tool, toggling spline edit activates spline isolation mode).
  • Isolation is shown on the Scene view via various visual indicators to show which element is currently being manipulated.
  • Isolation changes the authoring context and indicates that in Hierarchy and Inspector content as well.
  • Isolation can be initiated via the “Prefab arrow” in Hierarchy view.
Showing special isolation mode of a Prefab in the hierarchy view and in the scene where only the edited object can be seen.
Scene Isolation of the "PaintSupplies" Prefab
Toggling
  • Tool Toggles in the Tools Overlay are used to activate and swap between the active scene tools. They change the context and visible authoring content in the Scene.
  • Mode Toggles in the Tools Overlay can change authoring modes of the selected object. Changing a mode can also display additional / different Overlay controls.
Toggling editing of the bounding volume of a cube shows the anchor points that can be used to edit.
Toggling editing of the bounding volume of a cube

Inspector view

The Inspector window displays properties and settings for almost any selected item in the Unity Editor, including GameObjects, Components, Assets, Materials, and in-Editor settings and preferences.

Authoring GameObjects
The inspector is showing the properties of a default cube object
The inspector view displaying properties of Cube object

Inspector view is the main workflow for editing the properties and the components of GameObjects is in the Inspector window.

However, the Inspector window displays properties of almost any selection unless locked, and contents of the Inspector change whenever the selection changes.

If your authoring workflow includes changing selection (e.g. finding Assets in the Project view, losing selection in the Inspector), but still require the Inspector window, consider using a focused Inspector window instead.

Inspecting Assets

When users select an Asset, the Inspector displays the settings that control how it is imported and used at runtime, and displays a dedicated Button to open the authoring window for this asset. Authoring content for assets are typically shown in a dedicated window as asset authoring workflows can happen simultaneously with GameObject authoring / inspecting.

The Inspector view showing the properties and specific actions for a Shader Graph asset.
The Inspector view showing the properties of an asset.
Inspector Isolation
The Inspector view showing Prefab isolated properties.
Inspector view showing Prefab properties.

When working with Prefabs, the Inspector window displays some additional information and provides some additional options:

  • Users can isolate the prefab by clicking Open in the Inspector header.
  • Prefab Isolation changes the authoring context and indicates that change in the Hierarchy and Inspector content as well.
  • When you Edit a Prefab Instance, the Inspector window provides options for working with the Prefab Asset and applying overrides.
  • When you apply Instance overrides, the Inspector window displays the names of properties you override in bold.
Icon of a letter I in a blue circle indicating this is a piece of informational content
Benefits of showing content in Inspector
Benefits include: 1) Exposing certain features that come out of the box (presets, multi-editing) 2) it requires less code than redrawing a window in its own dedicated window.

Focused Inspector

A focused Inspector is a dedicated Inspector window for a specific GameObject, Unity component, or Asset. It is accessed via:

  • Right-click a GameObject in the Hierarchy view, or an Asset in the Project view. From the context menu, select Properties.
  • Application menu Window > Panels > [LIST OF OPEN WINDOWS] or Assets > Properties for assets.
A Shader Graph asset opened in a focused Inspector window. The asset can be seen in both Inspector views at the same time
A Shader Graph asset opened in a focused Inspector window

Focused Inspector always displays the properties of the item you opened it for, even if you select something else in the Scene or Project. If your authoring workflow includes changing selection (e.g. finding Assets in the Project view, losing selection in the Inspector…), but still requires the Inspector window, consider using a focused Inspector window instead.

Focused Inspectors work just like regular Inspectors, except for the following differences:

  • They do not update to show the properties for the current selection.
  • You cannot lock them. Each focused Inspector shows a specific item’s properties, so there’s no need.
  • You cannot toggle between Debug and Normal mode from a focused Inspector.

Dedicated windows

Timeline asset is shown in a dedicated window.
Dedicated windows can contain such items as this Timeline asset"

Some non GameObjects and assets might require more complex and in-depth systems for manipulation and authoring.

  • Dedicated windows can contain panels that function similar to Hierarchy, Project, Scene, or Inspector windows.
  • They are useful with complex workflows where placing the authoring content in a second window will ease affordance and provide a flat, “clean” editing environment.
  • Consider whether there is a need for dedicated windows when viewing authoring changes appearing live across many instances in the Scene view.
Implementation
  • Use default windows with a tab and tab well with the window (...) menu on right.
  • When first initiated, these windows open floating in the center of the viewport. They are intended to be docked in tab docks to customize the environment and discreetly stack windows.
  • Authoring in dedicated windows should be initiated with a dedicated selection on the item (double-click or right-click menu) or a control with a clear label.

UX Considerations

Layout

What is the density and complexity of authoring content?

Is there a lot of functionality right out of the box?
Do we have multiple tabs and multiple levels of controls?
>>> If so, a dedicated window might be needed.

What is best for simple content like the property field?
>>> Inspector is a good fit.

What type of layout does the interface need?

What interface is best if the layout is vertical?
>>> Inspector might be a good fit.

What interface is best if the functionality requires wide controls or content (eg. long range sliders, long texts, audio inspection, timeline)?
>>>A dedicated window might be required.

Does showing the authoring content in a separate window waste space in the Inspector? (It is empty?)
>>> When applicable, be conservative about screen real-estate use.

Selection & isolation

Simple selection is the single click on an object to show the broad authoring content. It is meant for broad authoring, and hopping between objects to see results of said authoring.(e.g. selecting a game object in Hierarchy to reveal the authoring content in Scene or Inspector views).

Dedicated selection is any multi-step interaction used to narrow down authoring content. It is meant for more advanced and detailed authoring. (e.g. Prefab isolation, using toggle controls on scene overlays to switch authoring contents in the Inspector).

In the authoring context, simple selection of an object displays its authoring capabilities and the type of the selected object determines which window / interface the broad authoring contents for that selection appears.

Further dedicated selection is done with toggle controls, buttons, or multi-step interaction and used to narrow down the authoring contents for a selected object, such as isolation.

1. Broad level authoring content is shown when;

  • Selecting a GameObject in the Hierarchy or Scene views
  • Creating a new Asset in the Hierarchy or Project views

2. Switching to narrower authoring content happens via:

  • Using mode toggles on the Tool Overlay or Toolbars
  • Prefab isolation mode is accessed via a Prefab arrow in Hierarchy
  • Some assets can be double clicked to open in a dedicated window for authoring

3. Context switching should not affect the layout greatly and should instead use dynamic UI where possible. (show authoring content in the same place)

4. Selection should be visually hinted in both source and target location. (e.g.. Hierarchy shows the selected object. The same object gets an orange outline in the Scene view)

Will the selection be lost?

The default Inspector window displays properties of almost any selection unless locked, and contents of the Inspector change whenever the selection changes.

If your authoring workflow includes changing selection (e.g. finding Assets in the Project view, losing selection in the Inspector), but still requires the Inspector window:
>>> Consider using a focused Inspector window instead.

What other windows must be visible?

If the user should be able to see the Scene view while authoring:
>>> Consider showing the contents in the Inspector, or in the Scene itself.

Opening the authoring content in a dedicated window will block the scene view as it first opens and the user has to decide where to dock this dedicated window.

Visual indicators

It is recommended to use visual indicators that hint at the selected item, authoring mode, and isolation or nesting (stacking) on both source and target locations.

Selection

  • Selection should be visually hinted in both source and target location. (e.g. Hierarchy shows the selected object, while the same object gets an orange outline in the Scene view).
  • Mostly achieved by by adding stylized boundary boxes to the selected item in the Scene view.
  • Most controls such as labels, list items, or buttons have different selected state styles.

Isolation / Nesting

  • When a user selects to edit a Prefab or a Parent object, isolation mode can show whether they are editing the master or the variant.
  • Mostly achieved by darkening or lightening of the skybox and ground.
  • Open a new canvas (UI mode exploration).
  • Reducing the opacity and vibrancy of “other” elements in the Scene view.
  • Breadcrumbs or a back button can be used to indicate hierarchy of the isolation level.