Physics

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.

A light blue cube against a dark blue background that represents an assembly of 1 part.
1 assembly; 1 part
A humanoid character model against a dark blue background that represents an assembly of 18 parts.
1 assembly; 18 parts
A pirate that represents an assemble of 179 parts.
1 assembly; 179 parts

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.

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.