I’ve been working on a fast-paced precision platformer for a couple years and I hadn’t anticipated this much of an issue with moving platforms.
I’m using an InterpToMovementComponent with a static mesh as root for my character to jump and wall slide on. I used InterpToMovement because it was the most accurate timed movement for cycle times.
Jumping, wall sliding, and dashing into stationary meshes works perfectly. All of these work mostly fine on moving platforms with higher fps.
If I jump into the path of the moving mesh actor at lower fps, the character usually clips clean through it with the occasional collision. If the character dashes in the opposite direction with a velocity of 2500 units/s, there is almost never collision.
I am testing with t.maxFPS <= 40 or t.UnsteadyFPS 1. Both create the issue. I think I would be fine if the issue only occured with insanely low fps, but it still happens at 30 which is game breaking.
The moving platform velocity is ~4000 units/s and is 200x200x1000 with simple box collision. My character capsule radius is 50.
I have recreated it in a test third person project to show the results. Apologies for the crazy material on the test character.
High FPS (works perfectly - pushes character away. Disregard the camera clipping):
t.UnsteadyFPS = 1 (clips right through TWICE):
I tried max substepping values (on both platform and character movement components time step=0.0166, iterations=25)
I tried CCD enabled on the character capsule
I tried CCD enabled on the moving platform mesh
I tried putting the moving platform in later tick groups
When I enable “sweep” for the movement component, it stops short and there is no penetration. But the platform movement stops because of the sweep which is useless.
I need the platform to push the falling character to give the opportunity to wall grab or just be pushed away while falling.
I am currently using UE4.27
I am willing to try ANYTHING!!! Its been weeks of fiddling without any progress. You guys are my last hope and I will be so grateful if anyone can be of any assistance.