Physics interactions between pawn and physics object depend a lot on frame rate


I’m making a game in which pawns play with a ball that has physics enabled. Both character movement and physics objects are constrained in a 2D plane, with a bit of angular and linear damping.

The problem is : when running at 30 fps, when a pawn runs into the ball, it launches at a crazy speed, when the same movement at 120 fps is pretty much what I was expecting.

I have enabled Physics sub-stepping, with what I consider being a lot of substepping if I understood it right, but with little success: the ball is still running wild at 30fps when 120 is very smooth and 60 is okay.

Here are the settings for the ball

Here are the settings for the pawn (the constraints on the pawn are set in C++, but the plane is the same)

And the sub-steping parameters


Any idea of what’s happening here? Any help would be appreciated!

EDIT : it seems the substepping did help from the moment I packaged the game for Windows, but if there was a difference in the editor, it was not obvious. I’ll mark this question as answered as soon as I test this on another physics elements that I use, but which is in blueprint for the moment and can’t yet use substepping.