Add a new "WeldConstraint.Breakable" property

As a Roblox developer, it is currently too hard to selectively choose which welds are able to be broken/destroyed by explosions or other outside influence. There is a DestroyJointRadiusPercent for explosions that would prevent welds from being destroyed, but this would occur globally and does not let me choose which welds should be “permanent” and which ones should be breakable.

In my scenario, I have a tram that is welded together and the primary part moved using TweenService, and I would like these welds to be completely unbreakable. But, I also have ground vehicles and other welds that I would like to be broken by explosions, not to mention the player. It is possible to write scripts to do this for you (such as taking advantage of the Explosion.Hit event and writing the functionality of breaking nearby joints yourself), but it seems a bit strange to me that it would be put on the developer to rewrite existing functionality just to add a property, and it’d be nice if this was a native feature of the engine.

43 Likes

Being able to control whether or not a specific joint is destructible would be useful behaviour for me as well.

Let’s say you have a mobile object, as in, its not Grounded. You might have something on that mobile object you want to be able to be exploded, but, you have to manually filter the objects yourself and connect to every explosion’s .Hit event, which is really inefficient, that event fires a million times and you’re either constantly watching for explosions or have some unified code to create them.

Being able to simply mark joints as non destructible would be a significantly better option as a developer and would probably not have to come at any significant performance cost (it might actually be more efficient).

As a little side note (not critiquing the suggestion), I think that this property could be confusingly named if its not made clear that its separate from :BreakJoints() so I think it makes sense if the property is named, for example CanBeExploded like CanCollide, CanTouch, CanBeDropped, etc because most properties don’t say, for example, Touchable, Collidable, or Droppable, and Breakable might get confused with :BreakJoints() since explosions use the same behaviour.

7 Likes

Why isn’t this a thing? It would be SO useful. Fellow Devs please respond and bump this thread for visibility.

5 Likes

Agreed, this would be a very VERY useful feature.

3 Likes

I would love to use weldconstraints, but this holds me back in a good chunk of cases and im forced to use welds, please Roblox, i beg :pray:

2 Likes

Their behavior for this functionality is entirely the same.

1 Like

As much as I would just say “throw an attribute onto the constraint then use Hit to check it”. Thats inefficient.

Please Roblox, there is no alternative to the Glue joint from yesteryears

3 Likes

with Roblox’s old weld system (surface types)
can have glue, and welds, welds are able to survive a decent hit, while glue will break on enough pressure

Welds are rigid, glues are not. In an update, glue could no longer be broken. WeldConstraints and Welds function similarly, except WeldConstraints do not use CFrame.

2 Likes