How can i become a 'better' scripter?

So I have been scripting for almost four years now, and I’m pretty decent at it. But I want to improve and get better, but how? Should I just learn every API that I don’t know or something?


Practice, Practice and Practice, also learn the API too. I’m not good either but that’s how I got better.


Just practice and read api documentation.


I’m not a scripter, but the best way to become one is practice! Practice always makes perfect! Also, read the API documentation. Hope this helps!


other than practice, try experimenting with pure lua or other new concepts that may be foreign to intermediate or even advanced scripters, try researching about new things like

  1. garbage collection (not available in roblox lua)

  2. metatables (add logic for 2 tables being added together in the __add function, handle comparisons with __eq, __lt, __gt, etc)

  3. roblox’s luau interpreter, you can do things like static typing with it

  4. object oriented programming (OOP)

  5. manipulation of the stack (_G, setenv, getenv, setfenv)

  6. creating complicated objects you may not even use in your game, snake blocks are a fun challenge


Oh, sound interesting i’ll have a look!

You really would never need to know any of (1,2,3(maybe),5) You would probably never use them in roblox scripting. Also if you want to become a better scripter learn more complex scripting languages they will help you better comprehend code.

1 Like

This question has been asked many times, please use the search bar before making a post.

Well it is a genuine question. A lot of people ask this and most people won’t answer old ones also they could be outdated as well. Also many people ask repeated questions. A lot of people are still willing to answer them so there really isn’t that much of a problem of this question being asked.

1 Like

Challenge yourself with new projects. Try to code something that you have no practical idea how to achieve, and then make it anyway.

Go over your current code and attempt to improve it. Find inefficiencies and fix them. Search for new ways to perform the same action, and compare them to see which is better.

Just experiment with new things!


Most people likely won’t answer this one either since it is poorly formatted and subjective.

Why does it have to be really well formatted? Its not a recruitment its a question. Also its a question basically every question is subjective…

1 Like


Comprehending garbage collection is a fairly useful skill for implementation everywhere outside of Roblox Lua, and given the fact that Roblox has the “count” method of collectgarbage available I’d imagine that more methods will be added at some point in the future, besides it’s always valuable to understand aspects of Lua.

I don’t understand how you come to the conclusion that understanding metatable logic is not valuable because it certainly is. Even with the metamethods that @fanofpixels listed they can become very critical components to your game and learning how to use them can be a blessing in disguise even if you can’t immediately pick out a use for them.

The concept that you don’t need to comprehend the luau interpreter moving forward is crass - it is becoming more and more involved with the base coding of Roblox and you’ll fall behind if you don’t take the time to experiment with it, the inclusion of this being "unnecessary’ is something I don’t understand.

Who says you will not use stack manipulation in Roblox? Over recent months stack manipulation has become one of the most versatile abilities in my arsenal and I am greatly benefiting from knowing how it works and how/when to use it, and while some of your points can be true to an extent on the premise that you won’t use them in Roblox Scripting, it raises the question of why give the pointer of learning a separate programming language if you are cherry picking for Roblox-based coding paradigms.

I also want to mention to @cjjdawg: yes, congratulations, you said the line!

So many people respond to this type of question with “this has already been asked”, yet time and time again we see more and more intuitive answers being presented as the times progress. A question such as this is not timeless, better resources will be produced and discovered as time goes by and as such this question asked a year ago will not have answers that are up to date. It is beneficial to new programmers for this question to be asked more than once because of reasons I have already stated - no one is going through and responding to old “how to get better at scripting” forum posts each time they discover a good resource.

1 Like

Never said they were useless. For most scripters they would probably never used them though. I don’t even know what to use metatables even though I know them. I would love to know of a few examples for metatables.

1 Like

As well as other things, metatables can be used to create your own classes, which can be useful and fun to make (imo).

1 Like

This is how I learned: I literally just sat down and wrote random code, watched tutorials and read books, im not a pro, but the thing is, a pro has failed more times than the novice


Metatables in a general use case become prevalent when using metamethods, although you wouldn’t know it by looking at the common use case of metatables in Roblox.

Here is a very basic example of metatables, showcasing the call, newindex, and tostring metamethods.

local tbl = setmetatable({Name = "Table"},{
	__call = function() print("This was called") end;
	__newindex = function(self,value) print(value.." added to table") end;
	__tostring = function(self) return self.Name end	

tbl() -- call fires
tbl[2] = "newindex" -- newindex fires
print(tostring(tbl)) -- prints "Table"/tbl.Name

You can read up more on metatables using this developer hub article which covers all of the Roblox supported metamethods as well as other use cases.

1 Like

Yeah I still don’t really get it too much because a lot of these can just be defined in basic functions. I only see metamethods and metatables as ways of storing extra information.

Posting in the scripting support section requires a specific format, its a rule.

Hey there,

As just now, we cannot tell you how to become a better scripter, but just a tip.

You can try to learn by yourself, and try to watch some AlvinBlox video’s, his videos can really help you know more about scripting experience in this Roblox platform.
Just try to practice, don’t judge your self with hard scripts.
I am very happy to you that, you gotten yourself to get in here DevForum, if you wanna know much, we are here to help you.