PcoWSkbVqDnWTu_dm2ix

Explorer Window

Explorer Window

The Explorer window shows a hierarchical list of every object inside a place. This list is an essential aspect of organizing, viewing, and testing a Roblox game.

Parent-Child Relationship

The Explorer window uses the concept of parenting to organize all of the objects. If an object has any children, it will show a small arrow next to its name. Clicking on this arrow toggles a list of all the children of that object.

Block and Sphere on the same level
Post and Sign as children of SignModel

Inserting Objects

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 workflows:

  1. In the Explorer window, hover over the intended object's parent and click the circle button.
  1. In the Explorer window or the 3D game editor view, right-click the intended object's parent and select Insert Object... from the menu.
  2. Open the Insert Object popup by pressing Ctrl+I or +I. If desired, this popup can be docked by clicking the button in the Model tab.

The object insertion popup contains a list of objects, sorted by category. Familiar objects can be quickly located by typing a search query in the input field.

Full List
Searched List

If desired, you can further customize the behavior of the insertion workflow as follows:

A
Toggle an expanded (wider) view of the insertion popup.
B
Settings for object insertion:
  • Show only recommended objects Only show objects that are logical children of the parent.
  • Select object after insert Select the object immediately after you insert it.

Folders

Like directories/folders on a computer, Folder|Folders are a useful way to organize objects in a Roblox game. For instance, if you want to store all environmental sounds in an easy-to-find place, you can create a folder within the workspace and place multiple Sound objects within it.

To organize objects within a folder:

  1. Insert a Folder object through either of the workflows outlined above.
  2. Rename the folder as desired, then drag-and-drop child objects into it.

Default Objects

When you create a new place, its hierarchy already contains several default objects, each of which serves a specific purpose in the Roblox engine.

Workspace

The core job of the Workspace is to hold objects that exist in the 3D world. This means that objects can still exist outside of Workspace, but they will not be physically rendered or active in the game — note, however, that objects which aren’t currently needed should generally be placed in ReplicatedStorage or ServerStorage.

Storage Containers

Object Description
ReplicatedFirst The contents of ReplicatedFirst replicate to each articles/Roblox Client Server Model|client before anything else in the game, making it ideal for articles/Custom Loading Screens|custom loading screens. For objects that do not need this prioritized replication, use the ReplicatedStorage container instead.
ReplicatedStorage Objects in the ReplicatedStorage container replicate to all connected clients, meaning they can be accessed from either a server-side Script or client-side LocalScript. Note, however, that ServerStorage is a more optimal container for objects which only the server needs access to.
ServerScriptService ServerScriptService is a container for server-side game logic. Script|Scripts can be securely stored and run from inside this service without replicating to game clients.
ServerStorage Games often require a range of in-game objects that are held in storage until they're required, such as treasures that drop from a defeated enemy. Such objects can be placed in ServerStorage, although they will need to be Instance/Clone|cloned and parented elsewhere (such as Workspace) before clients can access them. ServerStorage is also a valid container for ModuleScript|ModuleScripts which only the server needs access to.

Initialization Containers

Object Description
StarterGui StarterGui is a container designed to hold GUI objects such as ScreenGui|ScreenGuis. When a player's character spawns, children of this container are copied (along with their descendants) into the player's PlayerGui, an object which is automatically inserted into their Player object.
StarterPack Contents of the StarterPack container are copied into each player's Backpack when their character spawns. It's generally used to hold articles/intro to player tools|tools, but it may also hold LocalScript|LocalScripts to ensure that each player gets a copy.
StarterPlayer When a player enters the game server, each property of their Player object is set to the corresponding property value in StarterPlayer. This object also contains two script containers:
  • StarterCharacterScripts can contain scripts that will be added to each player's character every time they spawn.
  • StarterPlayerScripts can contain scripts that run once for each player when they join the server.

Other Services

Object Description
Players The Players service contains individual Player objects for clients currently connected to a Roblox game server. It can also fetch information about players such as their character appearance and their Roblox friends.
Lighting The Lighting service includes adjustable properties which control the environmental lighting in a game. It's also the parent object for PostEffect|post-processing effects. Note that this service does not control dynamic, in-game light objects such as a PointLight.
SoundService SoundService specifies various aspects of how Sound|Sounds play in the game. Note that sounds and music still emanate from specific objects as outlined in the articles/sounds and music|Sounds and Music article.
Chat The Chat service houses the Lua code responsible for running the articles/Lua Chat System|Lua Chat System.
LocalizationService LocalizationService is responsible for handling automated in-game translation. This service is typically reserved for specialized needs beyond the articles/Introduction to Localization on Roblox|cloud-based localization portal.