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

Scripting API and implementation references.

Scripting API
SettingsProvider
Registers pages in Project Settings and Preferences.
Foldout
Reference for a foldout control in UI Toolkit.
UX Essentials icon

Errors · UX essentials

Essential guidance about effective ways of messaging.

Windows with no content use empty states
US-0205
Blue plus sign icon indicating that clicking on this will expand this content
Labels do not end with punctuation
US-0213
Blue plus sign icon indicating that clicking on this will expand this content
In Inspector-like windows, input controls should have labels and tooltips
Blue plus sign icon indicating that clicking on this will expand this content
Only use link labels for opening external applications
Blue plus sign icon indicating that clicking on this will expand this content
Tooltips are written in clear, complete sentences
US-0241
Blue plus sign icon indicating that clicking on this will expand this content
All UI elements use the appropriate font
US-0216
Blue plus sign icon indicating that clicking on this will expand this content
UI uses appropriate font sizes
US-0217
Blue plus sign icon indicating that clicking on this will expand this content
Padding exists between text and other UI elements
US-0218
Blue plus sign icon indicating that clicking on this will expand this content
Text is aligned appropriately
US-0219
Blue plus sign icon indicating that clicking on this will expand this content
Adapt your content layout for various window sizes
Blue plus sign icon indicating that clicking on this will expand this content
The interface should support the set min and max sizes of the window
Blue plus sign icon indicating that clicking on this will expand this content

Implementation Checklist

Do recommendation illustrated by a green checkbox icon

Do verify that page naming follows conventions.

Do recommendation illustrated by a green checkbox icon

Do check that frequently-used settings have contextual access.

Do recommendation illustrated by a green checkbox icon

Do ensure proper grouping using foldouts.

Do recommendation illustrated by a green checkbox icon

Do confirm visual spacing matches specifications.

Do recommendation illustrated by a green checkbox icon

Do add documentation access points.

Quick References

General Page

The General page on the Preferences window
The General page on the Preferences window

Parameters that affects the whole Editor experience, or most of it’s windows, should be placed in the General page of the Preferences window.

Don't put tool-specific options here (e.g., Hierarchy view options).

Create categories grouping, using foldouts, for settings that are related.

Empty Page

If the page is empty because it requires user action before being displayed, use onboarding content.

Overview

An overview of the Project Settings window
The Project Settings and Preference windows.

Differences between Project Settings and Preferences

The Project Settings and Preferences windows both use the Default Window Type.

Project Settings are shared with all project collaborators and are bound to the Unity project. These settings affect how the project behaves for everyone working on it.

Preferences only affect the Unity Editor for the current user on a given computer. All projects on that user's machine will use these preference settings.

Icon of a red triangle to indicate a message of warning.
Settings Override
There are ways to override settings outside of the Editor UI. These settings will be applied in that order (ie. first found wins):
  • Command line arguments
  • Local ini files
  • Build Profiles
  • Project Settings
  • Preferences

Platform Differences

On macOS, the Preferences are called “Settings” and can be accessed from the Unity menu, instead of the Edit menu on Windows and Linux.

Showing the Unity menu on macOS

Package Dependencies

Some Project Settings and Preferences are related to packages and are not shown when packages are not installed/enabled.

Examples include:

  • Adressables
  • Remote Config 
  • Analytics 
  • Cloud Build
  • Unity Version Control

Other Notable Configurations And Settings

Remote Config

Remote Config values are fetched at runtime by the developer’s app and used by code to adjust behavior (e.g., feature flags, difficulty, pricing). 

Remote Configs are managed in Unity Gaming Services and do not affect the Project Settings or Preferences.

Addressables

Addressables use a setting asset (AddressableAssetSettings) to configure how groups, bundles, and catalogs are built and delivered.

However, that asset is not part of Unity’s Project Settings window. It’s a project asset managed by the Addressables system in its own window.

Access Patterns

Preferences window

All parameters related to user preferences should be available through the Preferences Window. Typically, parameters that are only available through the Preferences Window are options that users set once or change infrequently (e.g., selecting an editor theme).

In-Context Access

Parameters that require more frequent adjustments should also be accessible directly within the tool they affect via the contextual menu and the kebab menu (e.g., showing or hiding toolbar buttons).

Layout configurations should only be available within the context of the tool to which they apply and do not need to be duplicated in the Preferences Window (e.g., resizing or hiding table columns).

Implementation Guidelines

Project settings or Preferences window layout
The two main panels of the Project Settings and Preferences windows.
Overall Architecture

Both Project Settings and Preferences windows use a two-panel system:

Showing number 1 reference

Side Navigation panel.

Showing number 2 reference

Content Panel, where the parameters are.

Side Navigation Panel Details
  • Page label:
  • --unity-font-size (default)

    --unity-colors-label-text
  • Padding:
    4px all around.
  • Sub-page indentation:
    15px + 12px for visible/invisible arrow.
Cursor changing format while moving
The Side Navigation panel with 4px padding and indent of 15px
Content Panel Details
  • Title label:
  • --unity-font-size-very-big

    --unity-colors-label-text
  • Title padding:
    8px Top-bottom.
  • Content padding:
    8px padding top-bottom / 4px padding left-right.
  • Align labels and properties into two distinct columns (like in the Inspector).
  • Columns are splitting the Content Panel 50/50.
  • Follow resizing and label truncation guidelines.
  • Grouping is made with foldouts.
  • Foldout arrow highlights the title of the group.
  • Allows for collapsing sections that are not of immediate interest to the user.
  • Each group has a bottom padding of 4px.
  • Each sub-level of grouping is indented (15px for each level) see Foldout indentation and nesting.
Cursor changing format while moving
The Content Panel architecture details
Settings colors (Window background color)
Default Background
--unity-colors-default-background
The default background color for controls
#A5A5A5
#282828
Highlight Background Inactive
--unity-colors-highlight-background-inactive
The background color for selected items or selected text when the control does not have focus
#AEAEAE
#4D4D4D
Highlight Background
--unity-colors-highlight-background
The background color for selected items or selected text
#3A72B0
#2C5D87
Highlight Background Hover
--unity-colors-highlight-background-hover
The background color for line items when the mouse pointer hovers over them
rgba(0, 0, 0, 0.0627451)
rgba(256, 256, 256, 0.0627451)
Highlight Background Hover Lighter
--unity-colors-highlight-background-hover-lighter
The background color for an item with a line specific background color when the mouse pointer hovers over them
#9A9A9A
#5F5F5F
Window Background
--unity-colors-window-background
The background color for a window
#C8C8C8
#383838
Alternated Rows Background
--unity-colors-alternated_rows-background
The alternate background color for views with alternating row colors
#CACACA
#3F3F3F

Content Organization Standards

Naming Conventions
  • Page names are based on feature or Window name as seen in the window menu (e.g., "Overlays", "Package Manager").
  • Consistency: If a feature has a page in both Project Settings and Preferences, use the same name in both windows.
  • Page name matches the content panel title.
Don't recommendation illustrated by a red X icon

Don't include "settings" in sub-page names.

Don't recommendation illustrated by a red X icon

Don't create a sub-page unless you have at least two sub-pages to include.

Page Subdivision
Use a single page when:
  • Content is part of a unified flow with logical progression: The information is related and flows logically from one page to the next.
  • Users need to compare information: Scrolling on a single page prevents the need to switch back and forth between tabs if users need to cross-reference data or see different sections simultaneously.
  • Content is critical, complex, or shouldn't be hidden: Important information (like legal terms or key specifications) that shouldn't be hidden from immediate view is better placed on a single, scrollable page.
  • Content amount is large or unpredictable: A scrolling layout is more flexible and easier to manage than rigid tab containers when the amount of content is vast or unpredictable.
Use sub-pages when:
  • Content can be logically grouped into distinct, non-sequential sections: The order in which the user accesses the information does not matter, allowing users to jump directly to any page.
  • Users need to view category labels at a glance and jump quickly between sections.
Use tabs on pages when:
  • Content of a sub-page needs to be segmented.
  • You have 3-5 categories (to avoid clutter or horizontal scrolling).
Content Order
  • Pages are presented in alphabetical order.
  • Sub-pages are sorted based on area logic/system.
  • Content groups and parameters are sorted based on area logic/system.
Visuals
Do recommendation illustrated by a green checkbox icon

Do ensure proper grouping using foldouts.

Do recommendation illustrated by a green checkbox icon

Do use basic buttons. The buttons should hug their content (no window-wide buttons).

Don't recommendation illustrated by a red X icon

Don't add icons or branding to the navigation panel or the  content panel.

Don't recommendation illustrated by a red X icon

Don't add titles to tabbed sections. The tab name is enough.

Don't recommendation illustrated by a red X icon

Don't add extra containers or borders for grouping and prefer foldouts.

Access Points

The Preferences window can be opened at the appropriate page using the kebab menu

Kebab Menu

The Tab dock kebab button must send the user to the Project settings and/or Preferences window (when the tool has associated parameters).

Within the content of the window, the kebab menu or gear icon at the toolbar level will present in-context options, but should not also be a way to access the Preferences window.

Once selected, the Project settings or Preference window opens directly to the appropriate page or sub-page.

Examples for kebab and gear icon usage
Don't recommendation illustrated by a red X icon

Don't label menu item “open preferences”.

Don't recommendation illustrated by a red X icon

Don't label menu item “preferences page”.

Don't recommendation illustrated by a red X icon

Don't add an ellipsis (...) to menu item.

Documentation Integration

Each content page can display a help button on their title bar.

Documentation icon button at the end of the title bar.
Documentation icon button at the end of the title bar.

If there is a need for more precise, contextual documentation placement, use the help box or for more subtle cues, the help icon is placed inline, after the label or control (with 4px margin).

Documentation icon button placed after a label.
Documentation icon button placed after a label.
Icon of a red triangle to indicate a message of warning.
Internal Note
Contact your documentation team if you add or change any Project settings or Preferences as the docs will need to be updated.