Adaptive Timestepping

Adaptive Timestepping

5 min

The Roblox physics engine simulates all parts inside the 3D workspace through Newton’s second law of motion. This law of motion is solved over time via timesteps and a single timestep is done within a worldstep in Roblox.

By default, Roblox simulates physics at 240 Hz. Given cycles of approximately 60 frames per second, around 4 worldsteps are advanced per frame. With adaptive timestepping, the physics engine automatically assigns parts to three “solver islands” by varying their simulation timestep, with an emphasis on 60 Hz for best performance. However, parts that are “harder” to solve will use a faster timestep like 240 Hz to ensure physical stability.

240 Hz
120 Hz
60 Hz
← Most Stable
Best Performance →

Assignment criterions are subject to change, but parts assigned to the 240 Hz island include assemblies with high velocity values, high acceleration values, and complex mechanisms that are hard to solve.

Enabling Adaptive Mode

To enable adaptive timestepping in Studio:

  1. In the Explorer window, select the Workspace object.
  1. In the Properties window, locate PhysicsSteppingMethod and select Adaptive.

To observe the timestepping process in action, you can open the Studio articles/MicroProfiler|Microprofiler (Ctrl+F6). Once the experience is running, press Ctrl+P to pause at the current frame.

Under the scope named physicsStepped, observe that the scope name of worldStep now reads worldStep - Adaptive.

Hovering your cursor above LDLPGSSolver::solve will reveal the status of how many islands belong in each frequency bucket; 1dt Islands (240 Hz), 2dt Islands (120 Hz) and 4dt Islands (240 Hz).

Debugging Visualization

During testing, it may be useful to visualize frequencies for simulated parts. To enable this option:

  1. Open the Studio settings window (FileStudio Settings).
  2. From the Physics tab, enable Are Timesteps Shown.

Once enabled, simulated parts will be outlined by their current simulation rate. If a part stops being simulated, either via the sleep system or a articles/Network Ownership|Network Ownership change, the part will no longer be outlined.

Fixed-Rate Scenarios

Adaptive timestepping can improve physics performance by up to 2.5 times and it is recommended in most cases. However, some experiences should use Fixed mode (240 Hz), including:

  • Experiences that require highly accurate simulations and stability, such as racing games, “destruction” simulations, or games featuring complex mechanisms like tanks.

  • Simulations where most parts default to the 240 Hz solver island (red outlines during debugging). When 240 Hz islands interact with islands of different frequencies (60–120 Hz), those islands are converted to 240 Hz with an overhead that may negate any performance gains resulting from adaptive timestepping.

  • timestep
  • worldstep
  • physics