Weld constraint kills both welded characters if one dies

Welcome roblox team!
There is an odd bevavior occuring where, if you use a constraint to attach two players together and one of them dies, both players are killed. This issue doesn’t happen consistently but occurs often. Why would I need to weld players together? Handcuffing someone, holding a kid, overall more advanced interactions with other players.
NOTE: There is an argument that if you have BreakJointsOnDeath enabled the killed character’s connected joints are destroyed, which would mean that the welded player loses all the joints too, resulting in killing that player by the existing character logic wherebreaking the neck joint results in the player’s death, but disabling the BreakJointsOnDeath results in the exact same behavior, so the argument is debunked.

Reproduction Steps:

  1. Ensure there are 2 players.
  2. Disable BreakJointsOnDeath for both humanoids
  3. Players must be welded to each other with any constraint.
  4. Kill one of the players

Results: Both players die (this bug occurs approximately 50% of the time)
Expected behavior: Only the killed player dies

Reproduction File: Reproduction File.rbxl (54.4 KB)

4 Likes

Hey! Have you tried using the AlignPosition and AlignOrientation constraints yet?

1 Like

I’m specifically referring to constraints that are intended to weld objects together.

To the Roblox Team, could I get an update on whether the ticket has been approved, is being worked on, or if more information is needed?

1 Like

Hello, this bug is occurring many times in this game where if you carry somebody, if he resets himself, you die aswell. BLOODTIDE [READ DESCRIPTION] - Roblox
It is rather weird that we have to mention a popular game for it to then maybe be fixed. It has been about half a year already and no response from the staff about this complaint has been given.

Hasn’t this always been a thing? However, I recently found out that the Humanoid States get shared across both humanoids. I haven’t tested this case in particular, but I think you could get around it if you set Humanoid.EvaluateStateMachine to false in the Humanoid that isn’t being in control (Say, grabbed, or whatever context you have it on).
This helped me to get states like Running and FallingDown back on the parent Humanoid.