Resources

Conventions

Recommend naming conventions by Roblox

  • Use PascalCase names for class and enum-like objects.
  • Use PascalCase names for all Roblox APIs. camelCase APIs are mostly deprecated.
  • Use camelCase names for local variables, member values, and functions.
  • Use LOUD_SNAKE_CASE names for local constants (variables with values that you don’t expect to change.

Networking

Scripts

Scripts Docs

  • Script object represents a script that can only run on the server.
  • LocalScript object represents a script that can only run on the client.
  • ModuleScript object represents a reusable script that you can require() from both server and client scripts.

For scripts to behave properly, you must place them in the correct containers in the data model.

Physics

Docs

Physics Physic simulation is replicate between the server and clients when necessary, for performance the owner/responsible of a assembly can be the server of a client.

Physics

Roblox uses a rigid body physics engine. By default, all parts in Roblox are rigid bodies and participate in simulated physics, unless otherwise specified. An assembly is a rigid body, a assembly can be one or multiple part.

Architecture

Data model

Docs

Every place is represented by a data model, a hierarchy of objects that describe everything about the place. The data model contains all objects that make up the 3D world, such as parts, terrain, lighting, and other environmental elements. It also contains objects that can control runtime behavior, such as scripts that modify properties, call methods and functions, and respond to events that enable dynamic behavior and interactivity.