Welds.rbxl (12.9 KB)
You will probably have to see the example project to understand the problem, I came across it trying to fully understand the behavior of Welds. Basically, when a part is no longer restricted in completing weld when it previously was. the weld will not complete itself until the restrictive part is ‘Touched’ in some way.
Here is the code from the example to illustrate the problem, but it is better to run the project so the surface welds are already in place.
local w = Instance.new("Weld")
w.Part0 = workspace.Part0
w.Part1 = workspace.Part1
w.C0 = CFrame.new(0,4.5,0)
w.Parent = workspace.Part0
wait(2)
workspace.AnchoredPart0:BreakJoints() -- Part0 is free to complete the weld (but doesn't)
wait(2)
workspace.AnchoredPart0.BrickColor = BrickColor.Blue() -- This forces an update and the weld completes