Roblox Scripting Roadmap & Learning Resource List

Scripting Roadmap

The scripting roadmap has three categories, the basics must everyone know to continue with other more difficult categories. Intermediate is someone who maybe does already commissions and is already not really anymore a new programmer. It is also useful to check what you maybe never knew and now found out through the lists


So let’s start with the basics of Luau, the basics are a must. Without even knowing basics I would not recommending doing any commissions. As learning resource in the beginning I recommend Youtube and later I slowly recommending switching to the DevHub.

Understanding & learning the basics Learn more about it Recommend
print warn
Functions Variadic Functions Scopes
Conditional Statements
Loops Continue
Basic Data Types Finding the type of a variable out
Instances Interacting with instances Attributes
RobloxScriptSignals (Event)
Math library
In-Game Leaderboards
Table Table library
Converting Strings
Basic lua globals (script, game)
Debugging Tools


When you learnt the basics, it is now time to become a intermediate programmer, they should be not that hard when you understand the basics. Also when you are an intermediate programmer you should understand mostly up to everything that stands on the DevHub.

Understanding & learning the basics Learn more about it Recommend
Remote Functions and Events
Enums Enumeration
Script LocalScript ModuleScript
Instance Methods & Properties
Mouse UserInputService ContextActionService
Subclasses of ValueBase ValueBase
StarterGui SetCoreGuiEnabled, SetCore GetCoreGuiEnabled
Vector2 CFrame Lerping
WeldConstraint Weld
Constraints Attachment JointInstance
ScreenGui,PlayerGui TextLabel,Frame,TextButton,TextBox,ScrollingFrames Handling ScrollingFrame size correctly
DataStore DataStore2 ProfileService
pcall xpcall
Animations AnimationController Keyframes
MeshPart Special Mesh
MarketplaceService Premium Payouts GamePassService
Magnitude Region3 Raycasting
Sound SoundEffect
Chat Dialog
Text and Chat Filtering
BindableEvent BindableFunction
Humanoid Roblox Avatars
Accessory Accoutrement CharacterMesh, Forcefield, Pants, Shirt, ShirtGraphic, HumanoidDescription
Players TeleportService
Stats RenderingTest
ParticleEmitter NumberSequence
HapticService Motor6D
Seat VehicleSeat
Camera Camera Manipulation
Lighting Post-Processing Effects
Coroutine Spawn and Delay
Scripting Style Guide 1 (Roblox) Scripting Style Guide 2 Scripting Style Guide 3
os tick time
Workspace Game Content Streaming
Introduction to Localization Localization Format Strings Localizing Non-Text Instances Localization Portal Additional Features,Utilizing Localization APIsInstances
Script Analysis Tool Game Testing Modes MicroProfiler Developer Console
Network Ownership
Improving Performance Fighting Against Lag

Advanced </tr
Understanding & learning the basics Learn more about it Recommend
Using adornment GUIs ArcHandles, BoxHandleAdornment, ConeHandleAdornment, CylinderHandleAdornment, Handles, ImageHandleAdornment, LineHandleAdornment, SelectionBox, SelectionSphere, SphereHandleAdornment, SurfaceSelection
BodyColors HumanoidDescription
Intro to Plugins StudioTheme, StudioService, ChangeHistoryService, CoreGui, DockWidgetPluginGui, PluginGuiService, PluginManager, PluginMenu, PluginMouse, PluginToolbar, PluginToolbarButton, QWidgetPluginGui, Selection, StandalonePluginScripts, StatsItem
HttpService Creating own proxy
_G shared
Perlin Noise
ModuleScript Metatables OOP
getfenv setfenv
debug error, assert
string Formatting and Converting Strings String Patterns
table unpack
GlobalSettings, GameSettings, LuaSettings, NetworkSettings, PhysicsSettings, RenderSettings, Studio, TaskScheduler, UserGameSettings, UserSettings, DebugSettings
rawset, rawget rawequal
select next loadstring
Wrapping roblox instances
Luau Analysis
utf8 bit32
Roblox Garbage Collection and Memory Leaks
AeroGameFramework, Nevermore
An Intro to Git and GitHub for Beginners (Tutorial)
Dice Binders Roact Flipper

At what level are you?

  • Basic
  • Intermediate
  • Subjective “Advanced”

0 voters


This is a roadmap, meaning it’s a resource, not a tutorial.


I think you should script types in beginner (this is quite simple)

Humanoid, type() should also be in beginner those are really simple too

I think you missed stuff about :SetCore etc.


Thank you! I wasn’t sure what level I was at and what I needed to learn next. But this is very helpful.


Why are strings in the advanced section if tostring() is in the basic section? You need to know what strings are before you convert numbers into strings.


It says string library which has functions like string.sub, string.match etc. and not just the concept of strings itself.

1 Like

It could have been a mistake, but I think I saw it before, maybe it was removed

It said “String” and an other topic was String Library. Not only ‘String Library’


It was a mistake, I fixed a lot mistakes.

I changed the table categories a bit.
And yes you are right, “understand and learning the basics category” is not the best for Strings in advanced

1 Like

I wouldn’t have known that this would be needed or so helpful unless I found it, and I’m happy i Did!. This is very useful, thanks for creating it!


Thanks for making this, but where can I learn these things though. I’m new to scripting I actually started the other day with some experience of how it works and I’ve learnt a lot but for things you have listed where can I learn them and at the bottom of basic what does it mean by game, script? like game.workspace or script.parent and so on? Would really help because I want to learn more and soon know a lot so I can make my dream game.


I don’t think learning scripting like some kind of checklist is a good thing, you will end up wasting time learning things you will never use and take little time learning things you will actually use, in my opinion you should learn what you want to learn or what you need to learn in order to complete a task.

1 Like

JointsService was deprecated in favor of Constraints and Attachments which should be used for surface connections instead.


1 Like

although there are a lot of complaints the the comments, ive been following this roadmap for a few days now and its helped me a ton. ill agree though that it would be nice for programming newbies to be linked to a basic Lua tutorial, but if theyve managed to find this post then they probably already know basic programming or know they need to learn lua before anything else.

from the looks of it, ‘game, script’ means nothing. it just links to Lua specific functions like #print or #metatable.