How to connect two actors via a physics constraint at runtime


I am trying to have my main character drag a dead body by attaching the body’s ragdoll skeleton limb to the hand of the character’s skeletal mesh. However I cannot work out how to spawn a physics constraint and change the actors on it in a blueprint, it only lets me set the components.

This shows the blueprint setup where I create the constraint and then set the bones from different actors

If I run the game and the eject posession of the pawn you can see the physics constraint has been created and the bones are assigned to it but the actors are not.

What am I doing wrong?

I have searched and found other people with this problem but no answers that work. Please help if you can, thanks very much.

The actors are not assigned but it looks like their Mesh Components are which is what matters. The issue i think might have to do with the constraints them selves, are they locked or limited etc.
To have better control maybe its easier if you make a BP_PhysConstraintActor and spawn that, from there you can setup whatever constraints and dampings etc before you spawn it.

But personally if i where you i would use a PhysicsHandle Component, this is pretty much what it was made for, grabbing a physics actor from like your hand and then having that actor lerp to it etc. with whatever damping you set. You can make it move slow or super fast, highly recommend checking it out. It is much simpler to use as well compared to Phys Constraint and supports replication.

Hope it helps :slight_smile:

Thank you, I couldn’t get the contraint to work but the handle did so thanks

Don’t forget to mark my answer as correct, so others who have the same issue can find that this was resolved :slight_smile: