iOS Bug?: Adding impulse to physics actors seems to have a lesser effect on mobile

I found this bug deploying to an iPad Air or iPad 4.1 running iOS 8.3. I was running version 4.9.1 of the binary editor release from the launcher.

I have been moving a pawn around using the virtual stick and controlling it using the add impulse node to move it in the axis directions. I have found that the impulse seems to be almost halved when deployed to an ios device. E.G. it move the object at half the speed that it does on the pc.

You can try this out by adapting the “Rolling” template project and switching its “Add torque” nodes to “Add Impulse” nodes. Also set the “torque” variable on the ball blueprint to 5 or so because its huge right now and will make the ball fly out of the scene.

Cheers.
TeamKingdom.

Hey TeamKingdom,

I’ve checked the impulse out on an version 8.4.1 and I noticed that it had the same effect as it did on Windows. Could you please provide me with some additional information to better explain what you’re seeing?

Thanks!

Hi ,
I will go over the setup that I can use to reproduce this.
Make a new Rolling project for mobile with no starter content.
This is the blueprint for the PhysicsBall Pawn in that project.

Swap the add torque nodes for add impulse nodes. In the roll Left/Right section, swap the axis value float from x to y and change the multiplier to 1.
In the roll forward/backwards section swap the axis value float from y to x. Save and compile the blueprint.

On the PhysicsBallBP pawn in the level, set the Roll Torque to 7000 and save the level.

The Rolling Game should be playable and feel more or less the same as it did with the torque settings. you can knock over the stacks of blocks.
Now deploy it to the ios device.
The Ball moves much slower and it should be hard to knock over the stacks of blocks.

Please let me know if this doesn’t give you same results.

Cheers,
TeamKingdom.

Hey,

Thank you for providing descriptive reproduction steps. I have submitted UE-21743 as the for this issue. If you ever wish to check up on this issue, please feel free to reply back.

Thank you and have a nice day!

TeamKingdom,

I wanted to let you know that the way the impulse reacts on physics actors is by design. The Developers provided a little insight as to why this is. Basically, you do not want to call ‘add impulse’ every frame to move something. If you do, the higher the frame rate, the more movement you will see. Each impulse causes a fixed change in velocity therefore, you would want to use it for one-off things like explosions. You should use add force/torque when you want a sustained application, that will scale by the frame time.

I hope this information is helpful for what you’re trying to accomplish, have a great day!

Thanks , I switched over to “Add Force” and got more consistent speeds. The downside of this is that I have to set the “Accel Change” flag on the node to true to see any acceleration. This then means that Mass has no effect and things like linear drag etc also have no effect.