Pausing Physics in Studio [Beta]

[Update] September 11, 2024

[Update] July 30, 2024


Hey Creators,

Starting today, you will be able to opt into the Studio Beta for the improved Studio Pause behavior. To do this, go to File > Beta Features and enable Simulation Pause.

With this Studio Beta, you will be able pause the simulation of your scene without disabling rendering. This can help with debugging ephemeral scenes and mechanisms by allowing you to dive deeper into what’s visually going on in that moment.

Inspecting the forces and torques from aerodynamics on an aerodynamic vehicle while paused.

Please note that if you would like to visualize aerodynamic forces and torques, you must enable the Aerodynamics Studio Beta.

Before and After

The Pause Physics button, located under the Test tab within the Simulation section, now enables visual navigation and debugging while simulation is paused — check out the before and after:

Showing the before and after for the Pause plugin under the Test tab within the Simulation section.

Pause / Resume Specificity

The new drop down for Pause Physics will let you choose between pausing both client and server simulations via Pause Physics: All or selecting Pause Physics: Current and only pausing the simulation you’re currently viewing (Client or Server), adding an extra layer of debuggability support. Similarly, you will be able to Resume Physics: All or Resume Physics: Current, based on your specific debugging use case.

Showing the ability to pause just the client and just the server, with side by side client and server views.

What Will and Will Not be Paused:

The new pause behavior will not pause all scripts as it did before. Though this behavior will be preserved within the scripting tab (see next section), only certain RunService callbacks will pause. Others will remain unpaused, allowing for some code to continue executing while the rest of the simulation is paused.

The following callbacks will not fire while paused:

  • PreAnimation
  • PreSimulation
  • PostSimulation
  • Stepped

Other RunService event callbacks such as Heartbeat and RenderStepped will continue to fire. Heartbeat will enable plugins to continue functioning and stepping in studio, while RenderStepped and PreRender ensure that camera scripts and visualizations work normally. . All scripts and related logic will continue to run even while physics is paused.

Showing which callbacks are and aren’t paused when pausing physics.

Script Debugger Pause

The new Pause Physics operates completely independent of the script debugger, meaning that your existing script debug workflows should be completely unaffected.

The Pause Scripts and Resume Scripts buttons within the scripting tab will work as they did before, pausing all scripts as well as rendering.

You can pause simulation, then click on a script, and pause the script from there if you want.

Showing how the script debug workflow remains unaffected.

The Run/Pause hotkey (F5) is still tied to the original Pause Scripts behavior. If you would like to add a hotkey for Pause Physics, you can customize your Studio Shortcuts via File → Advanced → Customize Shortcuts.

What’s Next?

Check back soon for a new way to step individual frames in Studio! Also, stay tuned for other exciting debug visualizations like a Force & Torque Visualization tool and a Center of Mass Visualizer :eyes:. We’re excited to empower you to build bigger, more complex experiences!

As always, please let us know if you have any questions, concerns, or requests!

Best,
m0bsterlobster

450 Likes

This topic was automatically opened after 10 minutes.

now let us pause physics in real games :fire: :fire: :fire:

284 Likes

now let us pause physics in real life :fire: :fire: :fire:

231 Likes

This is AWESOME! thank you we needed this!!

55 Likes

wow this is amazing, specially excited for those visualization tools

i was wondering if there were plans to in the future to make an option somewhere in the workspace or in studio to be able to slow physics down (you know, to do slow motion lol)

50 Likes

I hope a global pause or something of a similar effect is added along side this. I can imagine this being very helpful but at least from looking, having to separately pause scripts and physics in 2 different menus will be very annoying for debugging

42 Likes

Cool update even though… I’m never going to be using it.

41 Likes

This looks awesome!
Can we very please get time scale controls in real time though?

Currently if I want slow-motion effects in a Roblox game I literally have to either code my own physics engine from scratch or use a very hacky work around with constraints, gravity and velocities that often results in inconsistent physics.

54 Likes

pausing physics replication on server when :fire: (imagine for spefic objects, woo)

ngl, its a really useful feature, thanks for all the hardwork that was put into creating this feature.

34 Likes

This is great! Something I didn’t know was going to be added!

21 Likes

This is a really cool update. We won’t have to log constraint properties every frame for debugging physical mechanisms now!

Can we ever expect a scriptable API for manual control of stepping physics? Perhaps even on a per-instance basis? Currently, it’s quite the substantial undertaking to implement slow motion cutscenes or a time-stop ability, requiring large parts of the engine to be wrapped or re-implemented entirely in Luau.

This feature feels like it brings us one step closer to The World, and I’m all for it!
the_world

57 Likes

now unlock workspace:StepPhysics :slightly_smiling_face:

Back on the topic, this is a very good update, thanks roblox.

30 Likes

Could you expand on what you would like to be able to do for slow motion?

25 Likes

As much people said, i also want to pause the game in the middle, so like we can do so much things with that, right?

26 Likes

Hotkeys could help with this!
We wanted to give more granular control for pausing to help with different debug scenarios :slight_smile:
Please keep in mind that pausing scripts will pause physics as well, as it did before.

26 Likes

Could you expand on what you’d like to be able to do regarding slow motion? We’d love to support you as much as possible and will take any requests into consideration when designing future APIs and tooling.

32 Likes

I can see some pretty interesting effects coming from this update. Very intrigued!

Does the pausing of physics simulation also affect other humanoids owned by the player who pauses the simulation?

20 Likes

We’re actively working on enabling individual stepping :eyes:
Feel free to expand on what you’d like to be able to do so that we can best support you from the API / tooling perspective!

28 Likes

Are there any plans to introduce this for live servers? This would basically give us a server authoritative model, and would help with deterring exploiters from ever touching our games.

22 Likes