Prismatic Constraints not reaching target when network owner is set to client with Adaptive PhysicsStepping

I’m experiencing a new issue with PrismaticConstraints while using the Adaptive PhysicsSteppingMethod. The constraint fails to reach the specified target when network ownership is changed from the server to the client. This seems to be caused by the moving part falling asleep before reaching the target.

My repro file runs three tests moving a platform from a TargetPosition of 10 to 2. Firstly it does this with the network owner being the server, then the player, and then the server again. After each test, it prints in the output window the value of CurrentPosition of the PrismaticConstraint. The PrismaticConstraint reaches the TargetPosition with fair accuracy when the network ownership of the moving part is set to the server. When ownership is changed to the player, the PrismaticConstraint fails to reach the specified target with good enough accuracy, and can be in excess of 0.1 studs out.

Disabling AllowSleep in Studio Settings fixes this issue, which is why I believe this is caused by parts moved by PrismaticConstraints falling asleep too early when using Adaptive PhysicsStepping.

Repro file:
PrismaticBugRepro.rbxl (51.4 KB)

Expected Behavior

I expect the constraint to always reach the target with decent accuracy, regardless of network ownership. In addition, I expect a part moved by PrismaticConstraints to stay awake until the target is reached.

Actual Behavior

The constraint can sometimes stop at a position that is not close enough to the TargetPosition

Workaround

Switching to Fixed PhysicsStepping resolved this issue.

I reported a very similar bug a few months ago that was fixed: Adaptive Timestepping causing PrismaticConstraint not to reach target lower than current position with low LinearResponsiveness

2 Likes

Thanks for the report! I filed a ticket in our internal database.

2 Likes

This should have been fixed a while ago! Let us know if you are still facing any issues.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.