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.
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.
To make an object the child of another, simply drag-and-drop it into the desired parent object.
Like directories/folders on a computer OS, 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:
Click the button next to the parent object in the Explorer window, for instance Workspace.
Locate and select the Folder object.
Rename the folder as desired, then drag-and-drop child objects into it.
When you create a new place, its hierarchy already contains several default objects, each of which serves a specific purpose in the Roblox engine.
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.
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.
Objects in the ReplicatedStorage container replicate to all connected clients, meaning they can be accessed from either a server-sideScript or client-sideLocalScript. Note, however, that ServerStorage is a more optimal container for objects which only the server needs access to.
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.
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.
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.
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.
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.
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.
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 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.
The Chat service houses the Lua code responsible for running the articles/Lua Chat System|Lua Chat System.
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.