Undo doesn't work for changes made from applying constraints

I’ve had this bug for many years, but have finally gotten fed up enough to make a post about it.

Many constraints that are applied between parts will shift the parts around upon applying. When you attempt to undo adding one of these constraints, it will undo the addition of the constraint but not the movement of the connected parts.

For example, here is a video of the bug with a RigidConstraint shown below:

Reproduction Steps

  1. Create two parts in Roblox Studio
  2. Connect them with a RigidConstraint
  3. Undo

It’s important to note that this bug is not at all exclusive to RigidConstraints or just the moving of parts. The ability to Undo is quite unrealiable generally when it comes to constraints. I would really like to see this fixed as I think it goes without saying the ability to undo is a critical feature of any IDE.

Expected Behavior

The parts should return to their original state.

Actual Behavior

The parts stay in their new location, only the constraint is removed.

Workaround

Before forced roblox studio cloud integration, I could just save the file before I made any constraint changes. Now I must make a separate copy of my entire rig whenever I’d like to make a change in case I do something that is completely irreversible.

Issue Area: Studio
Issue Type: Other
Impact: High
Frequency: Constantly

2 Likes

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

2 Likes

I got a fix in for this.

This remains infeasible to fully fix but I found a way to fix it which works 99% of the time outside of some very contrived cases (for example involving invalid cycles where you join parts A and B with two different RigidConstraints that want them to be at different offsets).

Welds/Motor6Ds also remain a bit more challenging to fix this for, so the current fix only applies to RigidConstraints.

1 Like

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