Build your world
This page covers the building side of Studio: getting around the viewport, adding objects, moving them into place and setting them up. Studio measures distance in studs, Rally’s unit of length.
Every change on this page is one step in Studio’s undo history: press Ctrl+Z (⌘+Z on Mac) to take it back. A whole drag counts as one step.
Move around the viewport
Section titled “Move around the viewport”Click the viewport first so it has keyboard focus. Studio opens looking at your game’s first spawn location.
3D games
Section titled “3D games”| Do this | To |
|---|---|
| Right-drag | Look around. |
| W A S D | Fly forward, left, back and right. |
| E / Q | Fly up / down. |
| Hold Shift | Fly faster. |
| Scroll | Move toward the point under the cursor. |
| Middle-drag | Pan. |
| Alt + drag (Option on Mac) | Orbit around what’s under the cursor. |
| F | Frame the selection. |
2D games
Section titled “2D games”| Do this | To |
|---|---|
| Scroll | Zoom in or out at the cursor. |
| Right-drag or middle-drag | Pan. |
| W A S D | Pan. |
| Q / E | Zoom out / in. |
| Hold Shift | Move faster. |
| F | Frame the selection. |
Insert objects
Section titled “Insert objects”- Select Part in the toolbar to add a block. The arrow next to it adds a Block, Sphere, Cylinder or Capsule.
- Open Insert for every kind of object, grouped by what it’s for.
- Right-click an object in the Explorer and choose Insert Object to put the new object inside it.
| Insert group | Objects |
|---|---|
| Parts | Part, SpawnLocation, MeshPart |
| Scripts | Script, LocalScript, ModuleScript (see Write scripts) |
| Organize | Model, Folder |
| World | Terrain |
| Constraints | WeldConstraint, HingeConstraint, SpringConstraint, RopeConstraint |
| Light, sound & motion | PointLight, Sound, Animation |
| Values | NumberValue, StringValue, BoolValue, ObjectValue |
| Events | RemoteEvent, RemoteFunction, BindableEvent |
| UI | ScreenGui, Frame, TextLabel, TextButton, TextBox, ImageLabel (see Build on-screen UI) |
A few of these in brief:
- SpawnLocation: characters spawn on top of one of these, picked at random.
- MeshPart: a 3D model loaded from a
.glbor.gltfURL. It collides as a box the size of the part. - Model: groups parts that belong together, such as a car or a house.
- Folder: a plain container for keeping things tidy.
Where new objects go
Section titled “Where new objects go”When you insert from the toolbar, Studio picks a sensible place for each new object and selects it:
- Parts, spawn locations and mesh parts appear where you’re looking, resting on the surface at the center of the view and lined up to your move increment. They (and new Models) go inside the selected Model or Folder if you’ve selected one in Workspace, otherwise straight into Workspace.
- PointLight goes inside the selected part, because a light shines from the part it’s in. Select a part first.
- Sound goes inside the selected part (it then plays from that spot), otherwise into Workspace.
- Constraints join two parts: select the two parts first, then insert the constraint, and Studio connects it to both.
- Animation goes inside the selected part or model it should animate, otherwise into Workspace.
- RemoteEvent, RemoteFunction and BindableEvent go into ReplicatedStorage.
- Folders and values go inside the selected object, otherwise into Workspace.
Insert Object in the Explorer puts the new object inside the object you right-clicked instead. Parts inserted that way start at the center of the world (position 0, 0, 0): press F to find them. You can always move an object somewhere else afterwards by dragging it in the Explorer.
Select objects
Section titled “Select objects”In the viewport:
| Do this | To |
|---|---|
| Click | Select. Clicking a part inside a Model selects the whole Model. |
| Alt + click | Select just the part, even inside a Model. |
| Shift or Ctrl/⌘ + click | Add to or remove from the selection. |
| Drag from empty space | Draw a box: everything it touches is selected. Hold Shift or Ctrl/⌘ to add to the selection. |
| Click empty space, or Esc | Clear the selection. |
| Right-click | Select what’s under the cursor and open the object menu. |
In the Explorer, click a row to select it, Ctrl/⌘ + click to add or remove, and Shift + click to select a range. The arrow keys move through the tree. The viewport and the Explorer share one selection: selecting something in the viewport opens the Explorer down to it.
Move, rotate and scale
Section titled “Move, rotate and scale”Pick a tool in the toolbar or with the number keys:
| Tool | Key | What it does |
|---|---|---|
| Select | 1 | Select objects and drag them by their bodies. |
| Move | 2 | Drag the arrows to move along an axis. |
| Rotate | 3 | Drag the rings to turn. |
| Scale | 4 | Drag the handles to resize. |
The tools work on everything you have selected. A selected Model or Folder moves, turns and resizes all the parts inside it.
- Move steps by your move increment, counted from where the drag started.
- Rotate steps by your rotate increment. A single part turns around its own axes; several objects turn together around their shared center.
- Scale shows a ball off each face: red for X, green for Y, blue for Z. Drag one to move that face while the opposite face stays put. Hold Shift to resize both sides at once so the part stays centered, or Ctrl/⌘ to resize every axis together and keep its proportions. Sizes step by your move increment and never go below 0.05 studs. With several parts selected, the handles go around the whole selection.
Drag objects by their bodies
Section titled “Drag objects by their bodies”With the Select or Move tool, press on an object that’s already selected and drag it.
- With Stick to surfaces when dragging on (the default), the object rests on whatever surface is under the cursor and turns to match it. Drag a part from the floor onto a wall and it sticks out of the wall.
- With it off, the object slides flat, staying at the same height.
- In 2D games, objects slide in the view’s plane.
Press Esc during a resize or a drag to cancel it and put everything back.
Snapping and the grid
Section titled “Snapping and the grid”Open Snapping (the magnet) in the toolbar to choose the increments:
- Move and resize (studs): Off, 0.25, 0.5, 1, 2 or 4. The default is 1.
- Rotate (degrees): Off, 5°, 15°, 45° or 90°. The default is 15°.
The toolbar shows the current move increment next to the magnet.
Show grid / Hide grid turns the stud grid on or off. Its lines are 4 studs apart, with a stronger line every 16 studs. The grid is only a visual guide; snapping is set separately.
Studio remembers your snapping, grid and Stick to surfaces choices in your browser.
Align and distribute
Section titled “Align and distribute”Line up objects in Workspace precisely:
-
Select two or more objects.
-
Open Align and distribute in the toolbar.
-
Under the axis you want (X, Y or Z), choose:
- Align minimum: line up their lowest edges on that axis with the lowest edge in the selection.
- Align centers: center them all on the middle of the selection.
- Align maximum: line up their highest edges with the highest edge in the selection.
- Distribute evenly: space their centers evenly between the two outermost objects, which stay put. This needs at least three objects.
Each selected Model or Folder moves as one unit, and rotated parts count by their rotated size. In 2D games, only X and Y are offered.
Duplicate, copy, paste and delete
Section titled “Duplicate, copy, paste and delete”- Duplicate (Ctrl/⌘+D) copies the selection right after the original in the Explorer, in the same spot. Move the copy to see both.
- Copy (Ctrl/⌘+C) and paste (Ctrl/⌘+V) put copies next to the selected object, in the same parent, or into Workspace when nothing is selected. Pasted objects keep their positions.
- Paste Into (Ctrl/⌘+Shift+V) pastes inside the selected object.
- Delete (Delete or Backspace) removes the selection and everything inside it.
Group into Models and Folders
Section titled “Group into Models and Folders”- Group (Ctrl/⌘+G) puts the selection into a new Model when everything selected is a part or a model, or into a new Folder otherwise. The group takes the place of the first selected object and is selected.
- Ungroup (Ctrl/⌘+Shift+G) moves the children of the selected Models or Folders up a level and removes the empty container.
Once parts are in a Model, clicking any of them selects the whole Model, so it moves as one piece. Alt + click when you want a single part.
Organize in the Explorer
Section titled “Organize in the Explorer”- Drag and drop rows to move objects. Drop onto a row to put objects inside it, or near the top or bottom edge of a row to place them before or after it. An object can’t go inside itself, and nothing can go into Players.
- Rename with F2, by double-clicking a row (double-clicking a script opens it
instead), with Enter while the Explorer has focus, or from the right-click menu. Press
Enter to save or Esc to cancel. Names can be up to 100 characters and can’t
contain
/, because scripts use names as paths. - Right-click any object for Insert Object, Rename, Duplicate, Copy, Paste Into, Delete, Group, Ungroup, Select Children and Zoom To.
The services at the top of the tree, and StarterPlayerScripts, are part of every game: they can’t be renamed, moved, copied or deleted.
Edit properties
Section titled “Edit properties”Select an object to see its properties in the Properties tab. The top line shows its class and name, for example Part “Platform”. Properties are grouped into sections such as Data, Transform, Appearance, Physics and Behavior: select a section’s title to fold it away, or type in Filter to find a property by name. Hover over a property’s name for a short description.
How to change values:
- Type a new value and press Enter, or click away. Press Esc to put the old value back.
- Number fields accept simple math, such as
4*2+1or(10-2)/4. - Drag a number property’s name left or right to scrub its value. For X, Y and Z fields, drag the axis letter. Hold Shift for bigger steps or Alt for smaller ones.
- Colors have a swatch that opens a color picker, and a field for a hex code like
#ff8800. - On/off properties are checkboxes, and choices are drop-down lists.
- Properties that point at another object, like a Model’s
primaryPart, list the objects you can pick, plus None.
With several objects selected, you see the properties they share. A blank field means their values differ; typing a value sets it on all of them.
Some properties come from your game’s settings and can’t be changed here, like Workspace’s
dimension. They show as plain text.
Part properties
Section titled “Part properties”| Property | What it does |
|---|---|
position |
Center of the part, in studs. |
rotation |
Rotation in degrees around X, Y and Z. 2D games use Z only. |
size |
Width, height and depth in studs. |
shape |
box, sphere, cylinder or capsule. Spheres use size.x as the diameter. |
color |
The part’s color. |
material |
plastic, smooth, neon, metal, glass, wood, grass, ice, sand or brick. |
transparency |
0 is solid, 1 is invisible. |
anchored |
On by default: anchored parts never move by physics. Turn it off to let a part fall, roll and be pushed. |
canCollide |
Other parts and characters bump into it. |
canTouch |
Lets scripts hear when something touches it. |
image |
A texture URL drawn on the part. In 2D games, this is the part’s sprite. |
For every class and property, see the API reference.
Attributes
Section titled “Attributes”Attributes are your own named values on any object, such as a Damage number on a trap. Scripts
can read them.
-
Select the object.
-
At the bottom of Properties, under Attributes, select Add attribute.
-
Type a name (letters, digits and
_, not starting with a digit), choose a type (string,number,boolean,Vector3orColor3), and select Add. -
Set its value like any other property.
To remove an attribute, hover over it and select the × at the end of its row. Learn how scripts use attributes in Instances and the tree.
Shape terrain
Section titled “Shape terrain”Terrain is rolling ground made from a height map. Studio has a brush for shaping it.
-
Select Terrain editor (the mountain) in the toolbar. The Terrain panel opens over the viewport.
-
If your game has no terrain yet, select Add terrain.
-
Choose a brush: Raise, Lower, Smooth, Flatten or Paint.
-
Set the brush’s Size, and its Strength (or, for Paint, a material: grass, sand, rock, snow, mud or ice).
-
Drag on the ground. Each drag is one undo step.
- Flatten levels the ground to the height where you started dragging.
- Generate hills replaces the terrain with randomly generated hills. If you don’t like the result, undo it.
- Parts block the brush, and clicking parts still selects them while the terrain editor is open.
- Close the panel with its × or by selecting Terrain editor again.
Select the Terrain object to change its other properties: size (width, tallest height and depth,
256 × 64 × 256 studs by default), position, resolution (how much detail it holds) and
material (the material wherever you haven’t painted).
In a 2D game, terrain shows as a ground line along the play plane.
Set lighting and world settings
Section titled “Set lighting and world settings”Game-wide settings live on the services in the Explorer. Select one to edit it in Properties.
Lighting sets the sky, sun and fog:
| Property | What it does |
|---|---|
ambient |
The ambient light color. |
brightness |
Sun strength, from 0 to 10. |
sunDirection |
The direction sunlight travels. |
skyColor |
The sky’s color. |
fogColor |
The fog’s color. |
fogEnd |
The distance where fog becomes total. 0 means no fog. |
shadows |
Turns shadows on or off. |
For a light in a particular spot, insert a PointLight into a part. It shines in every direction
from the part; set its color, brightness, range and enabled properties.
Other useful settings:
- Workspace:
gravity(studs per second squared, 196.2 by default) andfallenPartsDestroyHeight(unanchored parts that fall below it are destroyed, and characters below it die). - StarterPlayer:
characterWalkSpeed,characterJumpPowerandcharacterMaxHealthfor new characters. - Players:
characterAutoLoads(spawn characters automatically) andrespawnTime(seconds between death and respawn).
Undo and redo
Section titled “Undo and redo”- Undo: Ctrl/⌘+Z, or the toolbar’s Undo button. Hover over it to see what it will undo, such as “Undo Move Platform”.
- Redo: Ctrl/⌘+Shift+Z or Ctrl+Y.
Undo covers your own last 500 changes in this browser tab. Collaborators undo their own changes, not yours. Selecting things isn’t a change, so undo skips it, and typing in a script has the code editor’s own undo.