Roblox uses a rigid body physics engine. BaseParts are subject to physical forces as long as they are not Anchored. You can create physical assemblies using attachments and constraints, and you can detect and control collisions between objects using events and collision filtering.
Assemblies
An assembly is one or more BaseParts connected by rigid constraints or motors (animated rigid joints). Assemblies can be set to an initial linear or angular velocity, or their behavior can be affected through constraints.



Constraints
Non-anchored assemblies react to force from gravity and collisions, but physical force can also be applied and simulated through mechanical constraints or mover constraints.
Mechanical constraints include familiar objects like hinges, springs, and ropes which can be used to build mechanisms. Each is summarized in the mechanical constraints guide.
Collisions
Collision events automatically occur when two BaseParts touch or stop touching in the 3D world. You can detect these collisions through the Touched and TouchEnded events which occur regardless of either part's CanCollide property value.
Through collision filtering techniques such as collision groups or part‑to‑part filtering, you can control which physical assemblies collide with others.
See the collisions guide for more details on detecting and filtering collisions.
Network ownership
In order to support complex physical mechanisms while also aiming for a smooth and responsive experience for players, the Roblox physics engine utilizes a distributed physics system in which computations are distributed between the server and all connected clients. Within this system, the engine assigns network ownership of physically simulated BaseParts to either a client or server to divide the work of calculating physics. See the network ownership guide for further details.
Adaptive timestepping
The engine emphasizes best performance by automatically assigning assemblies to one of three simulation rates. For scenarios featuring complex mechanisms like tanks, you can improve stability by setting a fixed timestep. See the adaptive timestepping guide for more information.
Sleep system
When an assembly is not moving or accelerating, the Roblox physics engine improves performance by automatically stops simulating the assembly. See the sleep system guide for details.