
A brief description of this course and the best learning strategies you can apply for this course
download and install roblox studio, create or log into your roblox account, verify your email, and start creating by opening the latest studio version.
Explore Roblox Studio basics by creating a new project on a base plate, locating the spawn point, and navigating the game, explorer, and properties windows to modify parts and camera.
Use the studio top bar to edit your game—select, move, scale, rotate, and add parts; then test with the play button or F5 and view output for errors.
Explore workspace, players, lighting, and material service, and learn how server storage, server script service, replicated storage, and replicated first organize Roblox assets.
Explore adding instances in Roblox Studio, understand the parent-child relationship with workspace, and practice using parts, scripts, folders, and models across geometric and physical modes.
Solve the unit challenge by closing and reopening the explorer, properties, and output windows. Use the view tab to restore them after attempting the task.
Explore parts and scripts as visible instances in Roblox Studio and learn to create them in the workspace. Master move, scale, rotate, pivot, and keybinds for efficient editing.
Learn to edit a part's pivot in Roblox Studio, move the pivot away from the center, and rotate parts around the pivot with quick key tips.
Master part properties in Roblox Studio, from brick color and color to cast shadow, materials, reflectance, and transparency, then harness CFrame, origin, pivot, can collide, anchored, and welding constraints.
Add, check, and modify tags and attributes on parts; scripts identify pets by tag and read or set values like pet cost.
Master snapping in Roblox Studio by toggling grid snapping for move and rotate on the model tab, and adjust increments from 0.5 to 10 studs and 45-degree rotation.
Explore part instances in Roblox Studio by welding two parts, setting a spawn location, and experimenting with a proximity prompt and a point light with adjustable brightness, color, and range.
Learn how to group multiple parts into a model in Roblox Studio by duplicating parts, selecting them, and using group as model, and understand model properties and deletion behavior.
Learn to create and test Roblox scripts by running a server script that prints hello world, and declare local variables while referencing parts via workspace or script.parent.
Learn to change properties in Roblox Studio scripts with dot notation, adjusting transparency, color via color3.new, size via vector3.new, and boolean properties like can collide, cast shadow.
Learn how to create and call functions in Roblox Studio 2024 using local function, pass parameters, and use variables to print dynamic values, including handling nil.
Learn to use Roblox built-in events and functions with colon syntax, including destroy, wait for child, and find first child, to access parts and scripts.
Explore how built-in events in Roblox Studio trigger actions when parts are touched, and learn to connect events to functions, use wait, and print outputs for debugging.
Learn how local scripts run per client when placed inside a player, printing hello world and changing client-side elements like a part's color, unlike server scripts that affect the world.
See how the server represents objective truth visible to all, while the client reflects an individual player's view, and learn how secure server checks prevent cheating.
Change the color of a part on the server using a server script so all players see the same color, illustrating parts properties, scripts, and the server versus local distinction.
Build a cash generator in Roblox Studio by integrating parts and scripts to create a clickable button that earns money, and learn how to save your game.
Save your game by selecting save to Roblox or save to file, and set the name. Enable Team Create and auto save to cloud for real time collaboration and access.
Build and name a cash generator in a blank Roblox Studio project. Assemble parts into an anchored, green neon button, and set up the dot touched event to detect clicks.
Add a click detector to the cash button in Roblox Studio 2024, enabling click, hover, and right-click interactivity with a 32-stud max activation distance; optionally set a cursor icon.
Learn to wire click detector events: mouse click, right click, and mouse hover, using a server script in Roblox Studio, with comments to explain and organize code.
Test mouse events in Roblox Studio using print statements for enter, leave, and click. Increment a cash counter with plus equals and apply debounce to limit rapid clicks.
Apply a local debounce to lock the click detector, using a boolean and if statements to return early, wait for a cooldown, and prevent rapid cash increases.
Practice three Roblox Studio challenges: remove cash on right-click, enlarge a part on hover, and reset its size when the mouse leaves, using click detectors and default size tracking.
Open your saved game in Roblox Studio to review script recovery, auto save, and how per-player cash values prepare for data storing to Roblox servers.
Polish the unit by renaming the cash button script and removing extra lines, then assign each new player a unique cash value when pressing the part to increase cash.
Learn to use the PlayerAdded event in a server script to award cash to players as they join, and distinguish between a player and their character.
Create a new int value to store each player's cash and name it cache. Parent the value to a leaderstats folder so it shows on the leaderboard.
Increment the player's cash by one by accessing Leader Stats cash int value with wait for child, then update the int value's value property to reflect server-tracked cash.
Set the initial cash to 50 by setting cash.value = 50 in the int value. Confirm the leaderboard shows 50 at game start.
Learn how to use Roblox data stores to persist a player's cash across sessions, saving on leave and restoring on rejoin.
Access the data store service, create a player data database, and manage a session data table with default values to safely save and load player cash.
Scout the database by player id to load existing data into session data, or use default data, and retry up to four times with a pickle function before kicking.
Enable studio access to the Roblox API services and set up data store usage. Manage player data with a session container and a dictionary of default values, saving on exit.
Apply robust player data handling in Roblox Studio by checking success, loading or defaulting data, and saving it to session data by player user ID.
Learn how to save and load player data in Roblox Studio 2024 by handling session data, using database set and get operations, and updating cache on value changes.
Bind to close a pre-shutdown handler, loop through players with game.players:getChildren, save each player's data via a shared on-remove function, and use task.spawn for concurrency.
Create a new boolean value named course master for the player, default false, attach it to the player under the default data, and sync with session data.
Import custom pet models by adding the pet models rbccm file and inserting from file, then explore mesh parts and textures to customize and ungroup them in Roblox Studio.
Import pet models, center pivots, and add two attributes: increase cash and pets cell cost; tag each pet and move them into a server storage pets folder.
Complete the unit 6 challenge by downloading a free trophy model (fbx or obj), importing it into Roblox Studio, renaming it, and applying wood and glass materials.
Create a pet shop that uses a button to randomly grant a pet from the server storage pets folder and track equipped and inventory in two data stores.
Import a pet shop model from assets, place it in the workspace, and use its mesh parts, a click detector, and a cost attribute for purchases.
Add an equipped pet string value and session data syncing in the value giver script, initialize to none, and update on player join and pet changes.
Loop through the default data to add missing values like equipped pet to player data. Create a pet folder to hold pet values and plan to parent it after storage.
Learn how to script a Roblox pet shop that deducts cash, selects a random pet, and stores the pet name in the player's pet folder.
Explain how to add pet rarity in Roblox Studio by mapping pets to common, rare, epic, and legendary tiers and assigning weighted hatch chances using two lookup tables.
Learn how module scripts in Roblox Studio package variables and functions in a shared table, accessible via require from other scripts. Build a pets module with rarities to demonstrate access.
Build a weighted pet rarity system in Roblox by grouping pets into legendary, epic, rare, and common with 5, 15, 30, and 50 percent chances, plus a random-pet selector.
Learn data storing of the pets folder by populating a data entry from player data, creating string values for each pet, and saving the updated table when the player leaves.
Add a function in the pet module that prints player's name with 'has completed unit seven' and, when available, sets the course master value to true via server script service.
Master Roblox GUI basics, from screen GUI containers like frames and scrolling frames to text, image, and button elements, plus billboard and surface GUI with adorni and always on top.
explain GUI properties to build responsive interfaces by using active states, background and border settings, and scale-based sizing instead of offset; test across devices and manage visibility and z-index.
Compare StarterGui and PlayerGui in Roblox Studio, and learn why new players get StarterGui copies while existing players keep their own, preventing global updates.
Script the gui with a local script to handle button activations, changing button properties and using the activated event, and bridge to server via remote events to affect part color.
Learn to use replicated storage remote events to communicate between client and server in Roblox Studio, fire server and all clients, and pass values like colors and player data.
Press the button to fire a server event that turns the part red, then after five seconds update the client color to white while the server remains red.
Design a pet inventory UI using remote events, enabling equip, unequip, and selling of pets, with an adjustable inventory limit and a cash generator boost for equipped pets.
Create a screen frame named inventory frame, set 0.1 scale with zero offset, center it, add a rounded UI corner and a UI stroke border, and apply a gradient.
Apply a gradient to the inventory frame in Roblox Studio, adjust start and end colors, rotation, and transparency, and copy the frame gradient into the stroke for a cohesive look.
Add a text label inside the inventory name frame, set it to scale with the frame, and use UI padding to prevent the text from touching the box.
Create a sell button inside the inventory frame, customize its appearance with a red background, white text, and rounded corners, then add an inventory limit label with a gradient stroke.
Add a scrolling frame to the inventory to scroll through pets, adjust size and background transparency, brighten the scrollbar, and implement an inventory toggle button to show or hide it.
Create and style a toggle button for the inventory in Roblox Studio, then bind a local script to toggle the inventory frame visibility with gradient, padding, and borders.
Learn to build a pet gallery inside a scrolling frame using a UI grid layout, cell sizing, padding, and frames, then replace placeholders with actual pet images and viewport frames.
Set up a viewport frame with a camera and a model to preview pets, adjust position and orientation, apply a background gradient, and add name and status labels.
Learn to add and style text labels on a pet template in Roblox Studio, adjusting font, gradient, visibility, and z-index to show or hide a pet name and equipped status.
Finalize the pet template by cloning it, replacing with the pet name, and placing it in the viewport frame; store templates in replicated and server storage for access.
Script a scrolling frame in Roblox Studio to display each pet by cloning the pet template into the viewport frame, with position and rotation. Update automatically as pets are added.
Polish the pet template by adding an equipped boolean, a visible equipped label, and a text button; set up remote events for equipping, unequipping, and selling in replicated storage.
Script the Roblox pet inventory UI by handling template button presses in a local script, toggling equipped state, and firing equip or unequip remote events.
Activate the sell button via a local script to fire a sell pet event, then validate and remove the equipped pet on the server using remote events and pet templates.
Create a server script named pets script in server script service to add and equip the last saved pet on join, and manage remote events for equip, unequip, and sell.
Create a pet equip function that validates inputs by checking the player and pet. Remove existing pets, then attach a moving pet using align position and align orientation.
Equip a player's last used pet by handling player added and character added events, validating the equipped pet in server storage, cloning from replicated storage, and calling equip pet function.
Handle remote events to equip, unequip, and sell pets, updating the equipped pet value. Update server storage and leaderstats cash as pets are bought or sold.
Implement a pet inventory limit in Roblox Studio using a value giver to default 15, update session data on changes, and display the limit as pets are added or removed.
Learn to implement a Roblox cash generator that updates cash based on the player's equipped pet, using a local cash variable and pet attributes to increase earnings.
Modify the pet script to set collision to false so pets no longer collide with the character, enabling selling and cash earnings as you finish unit nine.
Implement an inventory where selecting a pet equips it, enlarging its viewport frame Y scale by 1.1, and resetting to the original size when another pet is equipped or unequipped.
Celebrates completing unit nine and previews unit ten, where you polish the game and tackle hardest challenge, plus a bonus unit with help resources, 30 beginner-to-advanced challenges, and code templates.
Build a starting lobby on a 61 by 61 platform with a spawn location. Add ramps, group as a model, enclose a button in glass panes, then publish on Roblox.
Create a sell all button in Roblox Studio 2024, wire a remote sell all pets event, loop the frame to destroy pets, grant cash, and unequip afterward.
Take the pet shop you built in Roblox Studio and create your own pet, ensure it's a single part, raise pet prices and cash rewards, and publish the game.
Publish your Roblox game by changing permissions from private to public in game settings, saving to Roblox from the file menu, and publishing to Roblox.
This course will cover every major aspect of Roblox Studio, from its layout to its scripting language. We will learn new skills with each lesson, applying them to a Pet Simulator game we will be working on throughout the entire course. This course is specifically designed to be valuable for both beginner and intermediate developers, as the skillset you'll leave this course with will be enough to classify you as a full, expert developer.
I've designed this course with one goal in mind; getting rid of your frustrations, problems and confusions. Whether you are a complete beginner to Roblox Studio wanting to learn more, or a tired intermediate developer who just can't seem to understand what you're supposed to do, I will hold your hand throughout this entire course. I want to leave you with not only a highly valuable skillset, but also the knowledge of how you can properly utilize it to achieve what you TRULY want.
At last, we will also encounter challenges in forms of errors and bugs, and I will guide you through my efficient process of fixing them, and learning something new from the experience.
Always feel free to leave me questions and I'll be sure to respond as soon as I can. If you're ready to take that next step, then we'll see you on the other side :)