Skip to content

Latest commit

 

History

History
429 lines (349 loc) · 18.3 KB

explorer.md

File metadata and controls

429 lines (349 loc) · 18.3 KB
title description
Explorer window
The Explorer window shows a hierarchical list of every instance inside an experience.

The Explorer window shows a hierarchical list of every instance inside an experience. At the highest level of the hierarchy are the services; Workspace, for example, is where visible 3D content such as parts are stored.

Explorer toggle button in Studio

Parent-child hierarchy

Roblox uses the concept of parenting to organize objects. All children of a parent object appear under its branch when expanded.

Explorer hierarchy showing Camera, Terrain, Block, and SignModel as children of Workspace; Board and Post as children of SignModel

Camera, Terrain, Block, and SignModel as children of Workspace; Board and Post as children of SignModel

Expand and collapse branches

Clicking the arrow next to a parent branch, or pressing or when a parent is selected, expands or collapses only that branch (nested child branches remain in their current state). To expand or collapse all branches within a multi-nested hierarchy, hold Shift when clicking the arrow.

Branch entirely collapsed

Only the topmost parent expanded with click

All branches of parent expanded with Shift-click

Insert and parent

Insert new object

Some objects like primitive parts can be inserted from the Model tab, but a full array of objects can be inserted through any of the following methods:

  • Hover over the object's parent and click the ⊕ button.

    Hovering over Workspace object to reveal insertion button
  • Right-click the object's parent and select Insert Object.

  • Select the object's parent and press CtrlI on Windows or I on Mac.

Each method opens an insertion window which contains a list of objects, sorted by category. You can quickly locate familiar objects by typing a search query in the input field:

Search query entered into search field to filter objects

You can further customize the behavior of the insertion workflow as follows:

Additional customization buttons for insertion workflow

  • Expanded View shows a much wider window to select objects from.
  • Insertion Settings contains the following toggles:
    • Select object after insert automatically selects new objects after you insert them.
    • Show only recommended objects limits the list of objects to those which are logical or functional within the parent.

Paste from clipboard

For an object copied to the clipboard, you can paste it as a new child to the Class.Workspace, or into one or more existing parents.

  • Press CtrlV on Windows or V on Mac to paste the object into the top-level Class.Workspace.

  • Right-click specific parent(s) and choose one of the following options from the context menu:

    **Paste Into** Pastes the child geometrically on top of the original. CtrlShiftV (Windows)
    ShiftV (Mac)
    **Paste Into at Original Location** Pastes the child at the same `Datatype.CFrame` it was authored at.
    If you select multiple objects and right-click, the options above will appear as **Paste Into Selected \[\]**, and completing the operation will paste the clipboard item(s) into **all** of the selected parents. This is a convenient way to paste the same child into multiple parents, such as a common `Class.Texture` into several different `Class.Part|Parts`.

Change parents

To change the parent of one or more children (reparent), simply drag and drop them onto the new parent.

Dragging one object over another to reparent it

Reparent BlockB from Workspace to SignModel

Organize by folders

Like directories/folders on a computer, the Class.Folder object is a useful way to organize objects. For instance, if you want to store all environmental sounds in a logical place, you can create a folder and place multiple Class.Sound objects within it.

Multiple Sound objects grouped inside a Folder object

You can organize objects into folders as follows:

  • Create a Folder instance through a standard insertion method, then drag and drop existing objects into it.

  • Select multiple objects, right-click them, and then select Group as a Folder from the context menu or press AltCtrlG on Windows or G on Mac.

Filter instances

Through the Filter Workspace input near the top of the window, You can filter instances by name, property, class/subclass/tag bespoke queries, and ancestry queries. You can also combine parameters for advanced logical filtering.

Objects filtered by query in Filter Workspace field

Common filter selector

Clear filter query

Navigate up and down through filtered results

Select all filtered results

Refresh filtered results

Name filter

Typing in a basic string yields name matched instances. For example, filtering by the keyword "script" finds all instances containing it, such as ServerScriptService and StarterPlayerScripts.

Objects filtered by query of 'script'

A name is a sequence of characters that are alphanumeric, `_`, `-`, or `.`. In all of the following filtering methods, exercise caution when filtering for instances whose names contain spaces, as the filter logic may confuse spaces for a [combined filter](#combining-parameters). When filtering for names with spaces, you should surround the full name with double quotes, for example `tag:"Light Source"` to filter by the full tag name of **Light Source**.

Property filters

You can filter by property equality or value comparisons. Most properties are supported, and the filter works with partial matches, ignores spacing, and is non-case-sensitive.

  • Property equality is filtered through the operators = or ==.

    Example filter Result
    `Locked = true` `Class.BasePart|BaseParts` with `Class.BasePart.Locked|Locked` set to true.
    `Material == plas` `Class.BasePart|BaseParts` with `Class.BasePart.Material|Material` of either `Enum.Material|Plastic` or `Enum.Material|SmoothPlastic`.
  • Property value comparisons are filtered through the operators ~=, >, <, <=, or >=.

    Example filter Result
    `Health > 50` Every `Class.Humanoid` with more than 50 `Class.Humanoid.Health|Health`.
    `Transparency ~= 0.5` `Class.BasePart|BaseParts` with `Class.BasePart.Transparency|Transparency` **not** equal to 0.5.
  • Property types such as Datatype.Vector3 and Datatype.Color3 support filtering on individual fields. This works either for exact equality or for value comparisons.

    Example filter Result
    `Position.X = 1` Objects with an **X** position of exactly 1.
    `Color.R > 120` Objects with a red (**R**) color channel value greater than 120.
  • Property types such as Datatype.Vector3 and Datatype.Color3 support filtering as a complete unit, with the unit surrounded by quotes. This works either for exact equality, or with comparison operators in which every value is compared against the comparator.

    Example filter Result
    `Size > "20, 5, 20"` Objects with an **X**, **Y**, and **Z** size greater than 20, 5, 20, respectively.
    `Color = "255, 0, 0"` Objects with an **RGB** color value of exactly [255, 0, 0].

Bespoke filters

Classes, and subclasses, and tags are filtered through various bespoke queries, including:

  • classname:[Class] and c:[Class] both find everything that is of class [Class]. For example, classname:Part finds everything that is a Class.Part.
  • is:[SubClass] finds everything that is a subclass of [SubClass]. For example, is:BasePart finds everything that is a subclass of Class.BasePart, such as Class.Part and Class.MeshPart.
  • tag:[TagName] finds everything with a Class.CollectionService tag of [TagName]. For example, tag:LightSource finds everything that is tagged LightSource. You can add tags using the Tags section of an instance's properties, or Studio's Tag Editor, and tag names will autocomplete.

Ancestry filters

You can filter within a specific scope using the . operator, chain operators together for highly specific filters, or use * as a wildcard.

  • [Parent].[Child] finds named children inside a named parent. For example, workspace.Model finds instances named Model inside instances named workspace, similar to scripting.

  • Chaining . operators adds specificity. For instance, Animals.Dog.Tail finds objects named Tail inside Dog inside Animals.

  • * acts as a wildcard, for instance:

    Example filter Result
    `Cart.*` All children of an object named **Cart**.
    `Cart.Barrier.*` All children of **Barrier**, itself a child of **Cart**.
    `Cart.*.*` All grandchildren of **Cart**, excluding direct children of **Cart**.
    `Cart.*.Trim` All grandchildren of **Cart** that are named **Trim**.
  • [Parent].** finds all descendants of a parent. For example, CarModel.** finds all descendants of CarModel.

Combine parameters

For advanced logical searches, you can combine filters through unions and grouping.

  • Multiple filters separated by spaces or and operate on all of the conditions.

    Example filter Result
    `Anchored=true CanCollide=true` Every `Class.BasePart` that is anchored and can collide.
    `Cart.*.* Transparency < 1` All grandchildren of **Cart** that are not fully transparent.
    `Anchored=false and CanCollide=false` Every `Class.BasePart` that isn't anchored and can't collide.
  • The or conjunction operates just like the or operator in code. Groups within parentheses, conjoined by or, find everything within multiple combined filters.

    Example Filter Result
    `Cat or Dog` Everything that has **Cat** or **Dog** in its name.
    `(Anchored=true CanCollide=true) or (Anchored=false CanCollide=false)` Every `Class.BasePart` that either is anchored and can collide, **or** isn't anchored and can't collide.

Select filtered results

Within a filtered hierarchy, certain key shortcuts and mouse operations behave differently than they do within a non-filtered hierarchy.

Select all

Within a non-filtered hierarchy, pressing CtrlA on Windows or A on Mac selects all objects. Within a filtered hierarchy, the same shortcut or the "select all" button selects only the filter-matching objects.

All objects selected with Select All shortcut

All objects selected

Only filtered objects selected with Select All shortcut

Only filter-matching objects selected

Shift-select

Within a non-filtered hierarchy, clicking an object and then Shift-clicking another object selects everything within the range.

Within a filtered hierarchy, if both the initially clicked object and the Shift-clicked object match the filter query, only filter-matching objects within the range are selected.

All objects selected with Shift-select key combo

All objects in range selected

Only filtered objects selected with Shift-select key combo

Only filter-matching objects in range selected

Drag select

Clicking and dragging from the right side of the window initiates a selection box. Within a non-filtered hierarchy, everything within the box is selected.

Within a filtered hierarchy, only filter-matching objects within the selection box are selected.

All objects selected with mouse drag-select

All objects within selection box selected

Only filtered objects selected with mouse drag-select

Only filter-matching objects within selection box selected

Additional key shortcuts

Shortcut Description
With a collapsed branch selected, expands that branch. When pressed again, selects the **first child** immediately under the parent node.
With any child of a branch selected, moves selection back to the parent node. When pressed again, collapses the entire branch.
home Selects the topmost object in the hierarchy (`Class.Workspace`).
end Selects the bottommost object in the hierarchy.
page up Selects the object in the hierarchy that's above the topmost **visible** hierarchy item.
page down Selects the object in the hierarchy that's below the bottommost **visible** hierarchy item.