Skip to content

Hierarchy

The Hierarchy is the scene tree - every GameObject in the current scene, nested by parent-child relationship. It is where you select, rename, reparent, filter, and organise objects.

The tree is virtualized: only the rows near the scroll position are actually mounted, so a scene with 13,000+ objects (a large imported world) stays responsive.

The tree

Each row is one GameObject, indented by its depth, with a twisty (▶/▼) to fold or unfold its children. An icon shows the object's kind at a glance:

IconKind
🎥Camera
💡Light
Mesh (has a MeshRenderer)
Empty (a bare Transform / group)

Disabled objects are dimmed. When a new scene or imported pack populates the world, the tree folds to just the top level so you are not dropped into thousands of expanded rows; selecting an object elsewhere (for example clicking it in the Viewport) expands its ancestors and scrolls its row into view.

📸 Screenshot - save as img/editor-hierarchy.png

The Hierarchy panel with a nested scene: a camera, a light, and a parent object with several mesh children expanded, one row selected, and the filter bar at the top.

Selecting

ActionResult
ClickSelect this row (and make it the range anchor)
Shift + clickSelect the range from the anchor to this row
Cmd / Ctrl + clickToggle this row in/out of the selection
↑ / ↓Move the selection up/down one visible row
Shift + ↑ / ↓Extend the selection from the anchor
HDisable / enable the selected object(s)
Double-clickFrame the object in the viewport

Selection is shared with the Viewport and Inspector - whatever you pick here shows its components in the Inspector, and vice-versa. Double-click a row to frame that object in the Editor view.

Filtering

Two filters, at the top of the panel, narrow the tree:

  • A name search - type to show only rows whose name matches, plus the path of ancestors leading to each match and (for a name match) its whole subtree. Matches are force-expanded so they are visible. Esc clears it.
  • A type filter dropdown - All types, 🎥 Cameras, 💡 Lights, or ◼ Meshes.

While filtering, the count beside the filters shows the number of matches; otherwise it shows the number of top-level objects.

Reparenting and reordering

Drag any row to move it. As you hover another row, the drop lands in one of three zones based on where in the row you are:

  • Before / After reorder the object among its siblings.
  • Into reparents the object as a child of the row you drop on.
  • Dropping onto the empty area (or the tree's root zone) moves the object to the top level.

You cannot drop an object onto itself or one of its own descendants (that would create a cycle) - those drops are ignored. Reparenting works during Play too; like all play-time edits, the change is cached and kept-or-discarded when you Stop.

You can also drag a prefab or mesh from the Asset Browser into the Hierarchy - it is instantiated at the camera focus (where you are looking). Scripts and materials are not tree drops; drop those onto the Inspector.

Right-click menu

Right-click a row for its context menu (batch actions apply to the whole selection when several rows are selected, shown as a (N) suffix):

ItemShortcutNotes
Create Child ▸-The full create palette - primitives, Empty, lights, Camera, a 2D ▸ submenu (Sprite, 2D Camera), and a UI ▸ submenu (Text, Panel, Button, Image) - added as a child of this row
RenameF2Single object only
Duplicate⌘D
FocusFFrame in the viewport
DisableH
Enable-
Isolate-Disable everything except the selection
Save as Prefab-Single object only - see Prefabs
Delete

Right-click empty space for the area menu: Create ▸ (the same palette), Paste (⌘V), and Show All (re-enable every disabled object - the counterpart to Isolate).

See also

Awaken — browser-native WebGPU game engine.