Class reference

From Legacy Roblox Wiki
Jump to navigationJump to search

The Legacy Roblox Wiki features an API Reference that documents all of the classes, data types, enumerations, functions, events, callbacks, and properties that can be used to create games on classic Roblox.

  • This page, the Class Reference, documents classes. Classes are core objects and services in Roblox's engine. Classes contain properties, methods, events and callbacks.
  • Data Types are types unique to the Roblox engine, They can contain constructors, properties, and methods.
  • Enums are groups of constants that define preset values that you can use with other APIs. Documentation for the generic Enumeration data type is here.
  • Globals are functions or properties that you can use in any script. Most globals are native to the Lua programming language while some are exclusive to Roblox's implementation.

If you are looking for more information on undocumented API features, one of your best resources is the Object Browser pane (under the Help menu in Roblox Studio). There are also so many more objects used internally by the game engine which has not yet been added to the list here. If it has documentation on the wiki, it can be found at the Category:ROBLOX_Lua_Objects category.


As the essential building blocks of Roblox, these objects interact with each other physically. All classes here inherit from the BasePart abstract class.There parts all all rendered in 3D if placed in workspace.

Part modifiers

These objects, when parented to a part, will change the appearance or behavior of the part.

Body movers

Similar to part modifiers, these objects work on the part they are parented to. These objects alter the position, orientation, or movement of a part. All classes here inherit from the BodyMover abstract class.


These objects are used in general gameplay of a place.


These objects are usually found in Humanoids. An example is a Player's Character.


These objects display graphical elements in 2-dimensional space on the player's screen, in front of the 3D world.


These objects display graphical elements in 3-dimensional space. While they don't interact physically with parts, they are usually attached to parts in some way.


These objects are involved in adding scripted functionality to a game.


These objects exist to hold specific value types. They are essential for communicating data between Scripts.


These objects bind parts together, sometimes with an extra effect such as a hinge or motor. All classes here inherit from the JointInstance abstract class.


These objects are designed to contain other objects as children. For example, the Workspace holds objects that are simulated as the game runs.


These objects generally operate in the background, and may be helpful with place development. They're unique in that they may only have one instance of themselves, and can be acquired with the GetService method.


These objects are used internally by the game engine. Generally, trying to use them in Scripts or LocalScripts will result in an error. However, Plugins and the Command Bar in Studio may use them. They might come in handy for making Plugins to enhance your Studio workflow.

Structural Classes

Structural Classes, or "superclasses", are objects which can't be created or used with in game, but are the basis for other objects to inherit properties, events, and methods. For example, Part , TrussPart , and WedgePart , all inherit from the structural class BasePart .

Essentially, they're used for creating objects that are mostly similar, but slightly diverge, such as a Part and TrussPart. They both require the same properties and methods but their physical appearance and functionality diverge.




Some classes are used directly by Studio, but others can be used by Studio plugins to analyze properties of the game engine, hardware, and more.