[Activated!] Sleeping Part Behavior Improvements

Looks quite smooth and realistic, what a cool update to the Physics Engine!

Thanks for especially changing to Non Zero Gravity! Would really change my life.


I like it, I gonna try it. ._.


Parts should stay awake with lower accelerations or forces than before.
However, it is still finite. We can’t support infinitesimally small forces/velocities.

You should try your space flight with the change enabled and see if it works! Otherwise, maybe scaling things up a bit could help?


Could you elaborate? Why do you want to keep something asleep rather than keep it anchored?


Let’s say these edge cases don’t occur in my games and this feature is still on. Will it have an impact on performance?


This sounds like a great change, I’ve definitely come across sleeping parts before without even knowing this was intentional.

Is there any chance that this issue was due to the part sleeping as a result of it moving at such a low angular velocity? And if so, would this be fixed too? I’m not on my computer to test, but maybe this is a completely unrelated issue anyway.
EDIT: This issue doesn’t seeem to be fixed by this change, at least not in the beta. Perhaps the part isn’t sleeping, and it’s another issue? I don’t know, and I’m not sure how I could find out if it’s sleeping.

Either way, this is a great change for physics based games!

The issue I’m referring to in this post is this:

As you can see, when the angular velocity is set to values below ~0.3, it appears that the part ends up sleeping after moving a small amount. This issue is the same regardless of friction, as I have tested it with the part suspended in the air. This issue seems to be present for both new and legacy body movers, no matter what constraint is used.

Awesome! How can we go about enabling this??


As with all beta features, you can enable it in File > Beta Features, as shown here:


I’m excited to test it!

I had to hackishly disable sleeping parts entirely for a large part of one game. I had a game where you could punch objects for points and they would scatter outward. Problem was they would go to sleep as soon as they slightly got too far away from the character. I solved it by detaching the parts from the server when replicating them (placing the maps into the Backpack and having the client clone them).
In the end this ended up working in my favor (players could not steal points from other players by breaking all objects in the game and I could choose what maps to replicate). But I would of loved to have the choice!


Is there a documentation that lists the specific criteria for what caused a part to fall asleep and wake up? Also will we ever be getting an API to set parts to sleeping or awake (or disable sleeping entirely?) instead of just anchoring them? (I am not aware of any API so of there already is one I’m unaware)


Wow this is truly amazing. I don’t have much use for it but plenty of users will. Thank you.


I’ve been hoping this type of improvement would come, thank you guys for the awesome update! This will greatly improve many physics-related things in my projects!


I’m with Suggyiem here, I don’t have a specific use case but having that extra feedom is always beneficial, like how in Unreal we can choose between Static --> Stationary–> Movable.

It may not be prevelant now but having that customization straight to the developer for whatever cases do come up in the future is great; It’s quite difficult coming up with use cases when we simply can’t get our hands on it and experiment but I will say I have found this option amazingly useful in unreal and i’m sure will do here to, if it’s released.


Just to verify, there’s no way to activate this feature server-sided, this is just experimental in Studio test mode as of now??


Not to sound rude or anything but… FINALLY! as a developer that has created many physics based objects, and being a railroad developer, i have been complaining and waiting for this update for… idk how many years now! Thank you so much for finding a fix to this problem! i have a constraint powered engine that will finally be able to operate in game rather then sometimes in studio. While driving cars, in what ever reason, if loose parts fell into the road and you hit them at around 30+ mph, you will come to a dead stop like it was anchored when you hit a part, but you could get out and push the part around… this annoyed me to no end, i’m so happy it soon will come to a end, maybe i could finally do live loads in my rail cars, or use a turn table without the need of welding the engine to the table, this update can bring so many possibility and freedom!


Im under the assumption that asleep but non anchored parts still can be moved around on the client (if client has ownership) around. As for when I have an anchored client part, the parts dont really show movement across the server while anchored.

However if a part can be asleep on the server, and a client has ownership of it and moves it around with its own mini physics, I feel as though that would lag less as roblox’s physics are no longer being applied to it while still having it move around on the server if the client moves it.

I hope this explains it well. If not ill elaborate better.

1 Like

I’m so glad to see the physics engine become more reliable, especially with how Roblox’s gravity works with its physics which definitely has lots, and lots of bugs that have been seen since 2006, and are still being improved upon and solved to this day. Imagine the puzzles that can be made through more reliable physics.

Anyways, thank you for this. You guys never fail to give us something good to look forward to


Definitely will make the physics engine more reliable at times. Good update.


woah is it just me or do you not know what to make with this but you still love it and will try to use it for something


long time ago. i made a car and a trailer using physics constraints but the car wasn’t able to pull the trailer at any chance. would this update fix it?! back then i didn’t think about the trailer parts was sleeping