Welcome—this first short lesson begins the course’s scripting-first path through Roblox Studio and Luau. You do not need prior coding experience. Today’s goal is deliberately small but essential: create a Script, run it in a playtest, and confirm that it sends a message to Roblox Studio’s Output window.
A script is a file of instructions for Roblox. For now, our instruction will simply say: “show this message to the developer.” That may look modest, but print() becomes one of your most useful tools for checking whether later game code is actually running.
The three places you will use
Open Roblox Studio and create or open a simple Baseplate experience. You only need three areas:
- Explorer: the list of objects and services in your game.
- Script editor: where you write Luau code.
- Output: where Studio displays messages from scripts, warnings, and errors.
We will store our first Script in ServerScriptService. This service is intended for server-side scripts: code that runs for the game’s server rather than being attached visibly to a physical object in the world. Later lessons will make that distinction more meaningful; today, treat it as the correct home for general game logic.
If Explorer is missing, open the View tab in Studio and enable Explorer. Also open Output from the View tab now, so you can watch what your code produces.
Downloading Studio, Printing, Your First Script | Beginner's Guide to Roblox Scripting #1
Watch “Downloading Studio, Printing, Your First Script” by script_ing for a quick visual walkthrough of inserting a server Script, running it, and seeing its message in Output.
Start with creating the Script in ServerScriptService. Then watch testing the default code to see how Play runs a Script and sends its result to Output. Continue through changing the message, then finish with writing print syntax. Focus on the exact placement of the parentheses and quotation marks.
Create your first Script
In Explorer, find ServerScriptService. Move your cursor over its name. A small plus icon appears beside it. Click that plus icon, search for Script, and select the normal item named Script.

A new Script should appear below ServerScriptService, and the script editor should open automatically. Rename it PracticeScript:
- In Explorer, right-click the new Script.
- Choose Rename.
- Type
PracticeScriptand press Enter.
Names do not change what code does, but good names make projects manageable. When a game eventually contains many scripts, PracticeScript, ScoreManager, and DoorController are much more helpful than a long list of items all called Script.
Create a script | Documentation - Roblox Creator Hub
Read the official Roblox Creator Hub guide, “Create a script.” It confirms the standard ServerScriptService workflow and introduces the first print command you are about to run.
In “Code with scripts”, read the script-creation steps, from the Explorer instructions through naming the Script. Then, in “Hello world” and “Test output”, read the first print and playtest. Notice that Output is where you inspect results after starting a playtest.
Write an instruction with print
New Roblox Scripts commonly begin with this line:
print("Hello world!")
If it is already there, keep it for the first run. If the editor is blank, type it exactly.
Read this line from the outside inward:
printis a built-in Luau function. It tells Studio to display something in Output.- The parentheses
(and)hold the information given toprint. "Hello world!"is the message to display.- The quotation marks mean this message is text, rather than code that Roblox should interpret as an instruction.
For this lesson, preserve the pattern exactly:
print("your message here")
The word print must be lowercase. Code is case-sensitive: Print("Hello world!") is not the same instruction.
You can now make the message yours. For example:
print("My first Roblox script is running!")
Do not worry about memorizing every piece of punctuation immediately. For now, recognize the shape: lowercase print, opening parenthesis, opening quote, message, closing quote, closing parenthesis.
Run the Script and read Output
Writing code does not run it automatically. You need to start a playtest, which starts a temporary version of your game.
- Keep the Output window visible.
- At the top of Studio, click Play. Studio starts the game and may spawn a player character.
- Look at the Output window near the bottom of Studio.
- Find your message.
- Click Stop when you are finished testing.
Your result should resemble this:

Output may show additional messages made by Studio. Focus on the line containing the exact text that you put inside the quotation marks. The source information on that line, such as PracticeScript:1, means PracticeScript, line 1. That reference becomes extremely useful later when Output reports an error.
A successful first run establishes an important loop you will use throughout the course:
- Write or change a line of code.
- Start a playtest.
- Inspect Output for the result.
- Stop the playtest and revise the code if needed.
Make the message prove the Script ran
Replace your first message with something unmistakably yours:
print("PracticeScript started successfully")
Run Play again and verify that exact sentence appears in Output. Then add a second line:
print("PracticeScript started successfully")
print("I can see this in Output")
Run the playtest once more. Output should display the messages in the same top-to-bottom order as the lines in your Script.
This is not just a way to display greetings. Later, when you write code for a collectible, a button, or a damage block, you can temporarily add a print() call to answer a practical question such as: “Did this part of the script run?” Output gives you evidence instead of guesswork.
If your message does not appear
Check these basics in order:
- You clicked Play. A Script in ServerScriptService runs when the playtest begins.
- Output is open. Use the View tab and select Output if needed.
- The object is a Script. Make sure you inserted
Script, not something else. - The Script is under ServerScriptService. Expand that service in Explorer and confirm
PracticeScriptis inside it. - The line has matching punctuation. You need both quotation marks and both parentheses.
Use this exact working version as a reset point:
print("Hello world!")
Key takeaways
You have now used the fundamental Roblox scripting workflow:
- A Script holds Luau instructions.
- ServerScriptService is a suitable place for general server Scripts.
print("Hello world!")sends text to Studio’s Output window.- Play starts a playtest, which runs the Script.
- Output confirms that your code ran and, later, will help you diagnose problems.
In the next lesson, you will add single-line comments: notes for human readers that explain what a script does without being executed by Roblox.
Can't find a good explanation? Sign up and we'll make it for you
Sign up