Update
As of 5:40 PM PST September 12th we’ve switched control over to TemporaryLegacyPhysicsSolverOverride to select which solver is being used.
If TemporaryLegacyPhysicsSolverOverride is not enabled your games will be using PGS. This takes effect when servers or Studio starts up.
Original Post
Hey All,
We are in the process of disabling and removing the legacy spring solver from the Roblox physics engine, and transitioning exclusively to the PGS solver (for more information on the PGS solver see Home - Roblox).
If you absolutely require more time with the legacy solver to migrate your game to the PGS solver, we will allow you to use it by checking the box next to the Workspace property called “TemporaryLegacyPhysicsSolverOverride” in Roblox Studio. This property will be visible only if you are not currently using the PGS solver.
Why are you doing this?
Maintaining both solvers is challenging and puts more and more pressure on us when developing new features and improving physics code.
Even though many new features don’t support legacy solver, this keeps being a problem.
For example, we now have two completely distinct collision detection pipelines because we needed to optimize certain interactions and this ended up being possible only in PGS.
Separately, most games now use PGS. As an interesting fact, 92% of play time in all of Roblox over the past weekend was in places with PGS enabled.
What’s the timeline for this?
Today we’re announcing the change to let you prepare for this.
If your game is already using PGS, you can stop reading now - you won’t experience any changes.
If your game is using the legacy solver, this means you have Workspace.PGSPhysicsSolverEnabled set to false.
If so, please try to enable PGSPhysicsSolverEnabled and see if your game works. If it does - you’re good!
If it doesn’t, you need to fix the issues in your game - while most of the time, PGS solver behaves pretty similarly, in some cases the game might require tuning to become PGS-compatible.
Please refer to this article for more details: http://robloxdev.com/articles/Building-with-PGS
What happens if I do nothing?
If you don’t change your game, in one month we will automatically activate PGS for your game - because we will stop using the PGSPhysicsSolverEnabled property, so its value won’t matter. You can use this time to adjust your game to work well with PGS if necessary.
It’s summer and I don’t have time to fix my game!
We want to give you enough time to be able to adapt your games. Which is why we’re introducing a new property, Workspace.TemporaryLegacyPhysicsSolverOverride.
In one month, we will stop using Workspace.PGSPhysicsSolverEnabled property to choose the solver and start using Workspace.TemporaryLegacyPhysicsSolverOverride instead. If you need more time to adjust your game to work with PGS, you can temporarily set Workspace.TemporaryLegacyPhysicsSolverOverride to True and re-publish your game to make sure it keeps working.
Keep in mind that at some point after this we will remove the legacy solver from Roblox completely - so you can’t just set Workspace.TemporaryLegacyPhysicsSolverOverride and forget about this. But having a temporary override gives you a chance to adapt your content. We will be publishing the date when PGS solver will become the only solver on Roblox separately - it depends on the feedback we will get and on places that will be using the override.
Why do you need a temporary switch?
A lot of games were made before PGS solver became the default. Many of them work just fine with PGS, but some don’t. After we start using Workspace.TemporaryLegacyPhysicsSolverOverride property, we’ll be able to look at games that made a concious decision to stick with legacy solver for the time being, and work directly with their developers to help them migrate to PGS. Essentially the temporary switch gives us a way to tell the games that don’t care which solver they’re using from games that intentionally choose legacy solver over PGS.
My game doesn’t work with PGS and I’m not sure what to do, help!
Feel free to create separate threads on developer forum asking for help and advice; other developers as well as staff should be able to help you migrate.
Thanks,
Timobius