Selection History Navigation
A navigation pattern for traversing previously selected items, enabling users to move backward and forward through their Selection History.

A navigation pattern for traversing previously selected items, enabling users to move backward and forward through their Selection History.


Selection History allows users to navigate through their recent selections using back/forward navigation, similar to web browser history. This pattern addresses a common workflow disruption: accidentally losing context when selecting a different object.
Selection History can be implemented at two scopes for various aspects:

The Editor Selection History is the Editor-wide history that tracks any selection affecting the main Inspector window. This is the shared navigation context across the Editor.
Registration with Global Selection History:
Examples of Global selections:

Local Selection History is window-specific navigation for self-contained editing environments that manage their own selection context independently from the main Inspector.
Implement Local Selection History when:
Examples of Local selections:
Use this flowchart to determine which pattern applies:

Editor Global Selection History:
Local Selection History:
Do: Disable buttons when at history boundaries
Do: Use common Selection History Navigation button icons (load with EditorGUIUtility.LoadIcon("tab_prev") and EditorGUIUtility.LoadIcon("tab_next")
Don’t: Duplicate consecutive selections of the same item
Don’t: Add selections not initiated by user action
Use common Selection History Navigation button icons
Provide informative tooltips on history buttons:
