Heads Up: Upcoming Rollout of Improved Physics Replication!

Heads Up - Update to Physics Replication will soon be rolling out!

EDIT:

  • THIS HAS BEEN ROLLED BACK AS OF 05/05/2026 11:20am
  • The Rollout Began at 3:45 pm PST and is now fully Rolled Out as of 4:45pm PST - 05/04/2026
  • Any freshly restarted servers as of 4:45pm PST have this new feature enabled.

We are going to begin rolling out some improvements to the Physics Replication system across all of Roblox.

As we begin rolling out this new system this week, please be on the lookout for any Physics Replication anomalies and please send them our way! We’ve been testing this thoroughly for many months internally, but no amount of internal testing catches everything that creators do in the wild!

We don’t expect anything to change for creators or players, but want to be transparent about this internal switch!

Extra Context

Some of you may have already seen the Server Authority Client Beta Announcement. Part of the requirements to enable Server Authority is something called “Next Generation Replication”, which is a pretty significant change to Roblox’s replication system that is currently undergoing Beta testing.

While the entirety of what we call Next Generation Replication is not ready for full release due to the significant behavior changes (with respect to remote events, property update timings and more complicated subtle replication timing), there is a part of this tech we can enable without changing gameplay behaviors.

Improved Physics Replication

The current Physics replication system has a lot of great qualities.

  • Even when your other data replication spikes/halts, physics continues to move smoothly
  • It prioritizes motion that is more relevant to your players via Prioritization
  • Works better in a bandwidth starved environment

However, this system has one key weakness that has been difficult to solve in the past:

  • There is no eventual consistency.

You’ve probably seen bugs like this in the past, a large explosion scatters parts across the screen and some of those parts remain floating in the air:
ISROffDesync1
ISROffDesync2

This is because the current system has no way to track what data arrived on any other Client, so if an update was never sent about the final position of a part, or maybe it got lost on the way, the part may fall asleep on your machine in the incorrect position and stay there indefinitely.

Eventual Consistency

The new system will make sure that the final updates are sent over the wire before parts fall asleep. While the bandwidth limitations aren’t changed (so the full extent of this explosion is throttled like before) the new system makes sure the final resting place of these parts if confirmed by all observers.

ISROnNoDesync3

Caveats

This new system won’t entirely solve parts being anchored in the wrong place during complex explosions/dynamic events. Since Anchoring is a property, there is still a desynchronization between when Anchored property updates arrive and when Physics is synchronized.

We have a plan to address this, but until more of Next Generation Replication is safe to roll out, this is still a flaw in the Physics Replication tech that will remain.

This system is designed to long term handle both Physics and Property replication so that they can finally live in a synchronized world instead of having weird mis-timings between Remote Events, Properties and Physics Motion… but it will take us some time to get there completely!

Thanks for listening and please send us any feedback!

44 Likes

Pretty sure this shouldn’t touch any “Custom Replication” libraries then right?

No. This only affects physics and nothing else, this is an internal update on their backend that affects the visual end result for us.

Will this make server simulated physics objects not obscenely choppy when replicated to clients? Or is that a separate issue that doesn’t have anything to do with replication?

Great to see coming!
Definitely had some issue regarding floating parts before

I’m not sure if this counts, but when specifically using server authority, body movers like VectorForce do not work as they should compared to non-SA games. The part will constantly slide up instead of cancelling gravity perfectly. I have tested this with and without server authority and can confirm SA is the issue, but i have no idea if it is related to the replication system. video is shown below (basic part with a vectorforce cancelling gravity andshifting gravity to the z axis):


I think the dragging body-mover bug seems to be related to Server Authority only, I think it’s similar to this bug:

Is there any timeline of when it will be fixed? I can go post this on that original post if required, but this floating point issue (and the custom character moving into the ground, presumably due to the same issue) is why I can’t finish my character controller using the ControllerManager stuff

If you have a simple repro you can provide, please post on the original Server Authority post and file a bug report with it attached! It’s really helpful for us to have a repro to reference!

If you have access to the beta channel, I posted about this a month ago without a file, but I will edit the post to include the replication rbxm. It’s as simple as making a part with vectorforce and watching the physics not work correctly unfortunately (https://devforum.roblox.com/t/bug-reports-functionality-and-documentation/3931381/231)

Any freshly restarted servers as of 4:45pm PST have this new update enabled!

I think this update may have broken our game Basketball Legends.

We recently updated and rebooted all servers. There is a really big issue where players who shoot the ball have the ball then stuck mid-air. This bug has been a small issue in a couple servers for a couple days now but is now seen in every single server since the reboot. Is there any way to adjust or disable this?

UPDATE: We managed to fix this by doing workspace.SignalBehavior Default → Deferred

1 Like

Wait, does it seem like this change in any way is related to the issue you saw in your game?

Why was this change announced in the resources category? This choice limits visibility. Ideally it should go in the regular announcements category.

1 Like

I’ve done these kinds of posts in Announcements in the past for higher-risk changes, but didn’t want to contribute to the noise since we dem this as low risk . Primarily wanted this post to be searchable and as a pre-emptive organization for bugs.

I’ll try to talk with the team on whether it would be better to make a post like this in the Engine Bug forums in the future, as a better place to collect feedback instead.

Basically the intent of this post is a “Hey, this new subtle thing is out that should cause no behavior change except for a few bug fixes, but if you see something with Physics Replication let us know!”

1 Like

My game has been having the same issue regarding the ball freezing for clients but not for the server. Changing workspace.SignalBehavior from Default to Deferred does solve the issue the majority of the time, but it still freezes sometimes. I can assume it’s the same issue Basketball Legends had, as very few servers previously had the ball freeze happen, but now all of them do.

We are also experiencing the same issue. Affected players have Out Physics of 0.00-0.04 pkt/s on a lot of Roblox experience they join from what i have seen.

image

Yes, it aligns to when this physics replication update was fully rolled out and when players started to report the bug.

It still seems to happen frequently despite our fix.

To be more descriptive, it’s a visual bug. When a player shoots the ball, the ball freezes mid-air visually but the ball will still either go in the hoop or roll out of bounds.

Video showing bug: https://www.youtube.com/watch?v=nVSHtXqMgrY

1 Like

Hello - this change has ruined many things in our game, the strongest battlegrounds, messing up physics and smoothness of many features, going from smooth movement and replication to snapping and teleportation

Changed SignalBehaviour to Deferred, this just stopped our animations from being visible on characters

Replication remains the same on users client, on other peoples perspective, it is different and snappy

We’re requesting a way to completely disable this change, as from our perspective, the previous one was perfect for certain games, with zero issue at all.

Video Attached of the differences :

Clip one in this video shows my perspective of being hit, when i do it to the other player, that is how it looks on screens for other individuals, thank you.

3 Likes

Roblox… please fix. I need my battlegrounds