Physics calculations vs TimeScale vs FixedDeltaTime

Hello everybody!

I’ve looked at the documentation and searched for quite a few posts without a solution…

PROBLEM: it’s possible modify physics timeScale & fixedDeltaTime (Pause Game) without causing all the hingeJoints gone crazy? :frowning:

  1. If i only change timeScale (not fixedDeltaTime) all stuff movement in fixedUpdate() like camera, characters, etc… moves choppy in slowtime.

  2. If i change timeScale and proportionally fixedDeltaTime (as Unity documentation recommends) …all stuff moves smoothly and nice in slowtime BUT physics on hingeJoints gets an unstable shake because change of “gravity vs physics calculations (solver)” not working as expected.

Please, any advice?
Thanks!

float xTime = 1.0f;

void Update(){
	Time.timeScale = xTime;
	Time.fixedDeltaTime = 0.01F * xTime;
}

public void pauseTime(){
	xTime = 0.0000001f;
}

public void slowTime(){
	xTime = 0.2f;
}

public void normalTime(){
	xTime = 1.0f;
}

never change fixed delta time, fixed delta time is meant to be used by the entire physics engine to work out physics calculations and doing this will throw everything off.