SoftlockServoUponReachingTarget was deprecated despite being announced 4 months ago

Repro steps:

  1. Open a new place file
  2. Create a HingeConstraint
  3. Look for a property named SoftlockServoUponReachingTarget

Expected behavior:
Given that the Release Notes for 600 mentions this property, it should exist.

Actual behavior:
This property was marked as Deprecated back in February of this year, a mere 4 months after it’s introduction, according to Ananimus’ Roblox API Tracker, causing it to no longer appear in the Properties window:

Frequency: Always
Impact: Impacts any pre-existing places: Was hinge softlock removed?
First experienced: 14th June 2024
Last experienced: 14th June 2024

Workaround: The Property still exists, so Scripts can still read and modify it, but not everyone will know that. However, given that it is recommended not to use Deprecated APIs, the safest option is to re-create it’s behavior completely in Luau, if it’s deprecation was intentional.

2 Likes

This is intentional. We collected some telemetry to determine which experiences had enabled soft-locking (whether it be via the Properties Panel or via Script). Subsequently, we reached out to the relevant devs, notifying them that the underlying engine behavior that is affected by the soft-lock property is going away and providing alternative methods to preserve behavior. Finally, we removed the underlying engine behavior so that effectively, the soft-lock property is now always disabled regardless of its actual value.

The introduction of the soft-lock property was always intended to be a temporary measure to allow us to remove the underlying engine behavior but only after we reached out to devs with workarounds. Prior to the introduction of the property, the engine effectively always did soft-locking. But more often than not, soft-locking was perceived by devs as a bug, and Roblox’s physics team also saw soft-locking as unintuitive.

It is conceivable that our telemetry did not capture all affected experiences; if you are in need of soft-locking behavior, we can discuss methods to achieve similar behavior.

4 Likes

I’ve built hydraulic machines and turntables for trains. The problem arises when a heavy load is placed on it; the platform flings despite the prismatic force being set to infinite.

Softlock was helpful for massive objects such as:
A Nuclear missile door opening , it prevented the door from glitching when opening.

Thanks for the clarification. What methods were introduced to allow us to create our own soft-locking behaviour in the 4 month gap? I can’t think of any new features relating to that off the top of my head.

One common workaround is to enable limits and set the min and max limits to be equal to the desired target when the constraint gets sufficiently close to said target. A weaker version would be to enable servo behavior and crank up the servo-responsiveness (and also set sufficiently high max servo-force/torque). Both of these require some scripting.

1 Like

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