UE5 physic constraint limits locks

I programming a physic based VR game. To show the problem about the constraints a simple example.

I have a lever which is located at a wall. I can pull them down and up. Very easy. So only one direction is limited allowed inside the constraint while the other are locked.

The result in UE5 5.3.2 is. I can pull them down and up but also left and right and also pull the lever out. If I let them go, it will snaps back to the right position but this breaks the gameplay completly.

In UE 4 I dont have this problem with the same configuration. So I think this would need a workaround. Because of the boneworks like gameplay which is related to physics I dont want “physicless” solution.

Hope someone have a idea how to fix it.

I dont find any issue in the bugtracker about this … So I dont know …

2 Likes

Hey there @Exetos! This shouldn’t occur if the constraint angles are setup appropriately, and may be a bug if you are moving them by physical means, however if you’re using non-physical movement you could push it outside of constraints and it would snap back to it’s location when it’s done.

Hey @SupportiveEntity! Thank you very much for your answer :slight_smile:

The constraint is setup appropriately. All the linar limits are locked.
Twist and Swing1 also. Swing2 alowes 80 degrees to let the lever go up and down.

I grab the lever also with a constraint.

To controlling the stiffines I use the angular motor with the drive mode twist and swing and using swing. The target velocity is set to euler 0, 0, 0 with the strength 500.

This simple example works perfecly fine in 4.27.2 and are broken in 5.3.2.

Physical constrain can be a bit glitchy. From what I understand your angular motor will try an reset the lever at 0,0,0 and then you can swing it 80 degree up or down?
How is the collision box for the lever, is it overlapping with the wall? I haven’t experienced mesh getting stuck without overlapping.
Have you tried increase the strength of the motor?

I have experience some weird behavior when I change a parameter withing a physical constrain and you get a ‘one-way’, ‘one-time’ variable change. It happen to me with angular velocity limit in the static mesh. When I deleted the actor in the viewport and dragged in a new one, it solved some issues.