I am using the normal
GetWorld()->GetWorldSettings()->SetTimeDilation(timedilation);
to set my UE5 application game loop vs. real-time speed dilation. I have modified the MaxGlobalTimeDilation using
GetWorld()->GetWorldSettings()->MaxGlobalTimeDilation = 1000000.0;
That is all working until my timedilation input exceeds about 4096.0. The deltatime seen in my actor tick functions appears to the scale accordingly, but any rigidbody dynamics cannot keep up.
Initially I saw this problem at even lower values of time dilation, like 10x or 20x dilation, but increasing the number and maximum allowed duration of physics sub-steps appears to extend the solver’s ability to keep up. How do I extend that further? These sub-steps appear to be locked after a certain range in the project settings.
Context: I am using the UE5 rigidbody solver for a toy n-body gravity simulator and want to increase the simulation frame-rate relative to real-time. In my own separate game-loop and physics solver, I use an RK45 integrator that allows me to push the physics steps to minutes of real-time without any loss of precision (for my purposes anyhow). How can I do the same in UE5?