Custom time dilation on player and physics breaking

So I am working on a game to replicate the superpowers of the flash and or quicksilver and the idea is that time slows down and the player goes at normal speed or increase speed. To do this i used global time dilation(set to 0.01) and custom time dilation of 1 on the player. The problem is when the player collides with physics objects like rag-dolls or physics actors, they usually end up breaking the law of physics or crashing the game. With the rag-dolls they literally spaz out then fly out of the scene at super-speeds. Is there a way of dampening the physics or is there another way of achieving the flash/quicksilver effect without dilating time and breaking physics

I can definitely see physics being an issue when mixed with time dilation. There may be some various tweaks you can try out to minimize it in the ProjectSettings->Physics. You can do some global adjustments to max velocity, etc that could help but may cause issues with other physics interactions. Depending on the issue substepping could help.

As an alternative you could only use customTimeDilation on anim-driven characters. You might be able to use a combination of physical materials and world gravity adjustment to simulate slower physics. Might not be 100% smooth but with some transition effects it could mask inconsistencies. Very small particles/etc could perhaps just have collision disabled.

hey working on multiplayer replecation aswell and somewhere landed here on some research about it.

then i played rocketleague and no idea but while in training mode i got an idea (it shows the path where the ball will et spawned for u) for ur problem.
might be to late but ill post it anyways :smiley:

– predict how the ball should fly
– then let it fly with time delitated but constantly but constantly get sure it sticks to the trajocery(jsut check the distance it moved and add it by using the original path)

this way it still can check collisions normaly. when a physics event happens, intercept it ? by overlap or something and remove the time delitated (maybe just for a short time) and let it get handle the default way