Why making a physics-based game on UE is so hard?

I’m a newbie and just started playing around with UE as a hobby. For my second project, I’ve decided to create a physics-based fighting game with local multiplayer.

Besides weird bugs I’ve faced supporting two different controllers, I’m really having a hard time working with physics in UE!

So, I’ve finally found a way to make an active ragdoll that stays on foot, simulates the physics for it, and also blends the animation. It was tricky, but it’s finally done!

Then, it was time to make a grabbing system. The basic implementation with physics constraints was easy, but the problem happens when you attach an static object (like walls) to your hand, but your player can still move around the world. This causes your hand to stretch and creates a very weird-looking ragdoll.

To fix this, I had to check on every tick that my pelvis location doesn’t go too far from the capsule component. This fixed the problem with attaching to static objects or objects that have limited movement, like the orange cylinder in the video.

Ok, so now that I thought I finally made it, I found out that if I jump and attach to a wall, my ragdoll comes down with gravity, and this makes the weird stretching hand problem again. :slight_smile:

The solution? Stopping gravity? That’s not what a physics game looks like. Fixing capsule components to a distance from the hand? Nah, still doesn’t look really natural. What about launching characters if their bones go down a certain distance? Well, it’s not the best way, but at least it looks fun!

But the final boss I still couldn’t fix is moving other players around! I still don’t even know why I can’t move them. Physics is enabled for them, they are movable objects, but somehow I can’t move them when I attach them to a physics constraint.

Does anyone have the same problem? Or any idea how to fix this while keeping it with the physics on?