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.

Parts

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.

Gameplay

These objects are used in general gameplay of a place.

Humanoids

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

GUI

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

3D GUI

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.

Scripting

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

Values

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

Joints

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.

Containers

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

Services

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.

Internal

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 Instance.new 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.

Objects

Services

Studio

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.