How to prevent a part from making joints?

So with the somewhat recent update that changed the behavior of welds with anchored parts, the dragging of my game has become very broken.
In hindsight, one could chalk this out to lazy coding on the part of myself and the other coders who handled the drag feature, but that’s irrelevant now.

To keep it short, I’m trying to make/fix a straightforward dragger. At the moment, the base bit works, but it becomes very broken when dealing with connected parts.

If you drag a part that has another part on top of it connected via studs, then the connected part will glitch right below where the dragged part originally was (usually in the ground).
If the dragged part has a “Weld” surface that touches the “Weld” surface of another part at any point during dragging, then just like in the prior example the non-dragged part will suddenly and unintentionally move positions in an undesired way.
These are the most pressing and obvious issues, though I am 100% sure the underlying problem creates other symptoms as well.

Largely out of lack of proper knowledge in the subject area, most of my attempts to fix this have been panickily putting BreakJoints() in pretty much every place, most notably including every drag update and in RunService.Stepped for dragged parts.
The dragged parts are anchored, which is of course what used to prevent these problems, but not anymore. Making them not CanCollide doesn’t change anything either.

Any solution for this problem would be greatly appreciated; the most apparent potential solution at the moment seems to be preventing any joints from being created in the dragged part/model after an initial BreakJoints(). But I’ve searched the wiki and DevForums and cannot find any way to do this.
Does anyone know of anything that could help me here? Thanks.

1 Like

No it’s not. Knowing your implementation is crucial. The implementation could be the fault here. As far as “preventing” parts from making joints though, I don’t there is such a way to that without removing joint instances connected to the part - though changing the SurfaceType to something that doesn’t weld (i.e. Smooth) could work. Not sure though.

That being said - could we see some of your dragger code?

1 Like