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
- A Script object represents a script that can only run on the server.
- A LocalScript object represents a script that can only run on the client.
- A 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
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
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.