Altering Fixed Timestep when your game is running to allow for smooth low Timescale animation.

I am working on a special cinema that plays in what I would call "super slow motion" (About 0.05 TimeScale) this looks great with the Fixed Timestep all the way down to .0001.

However, I am running this on an iPhone, and I don't need my Fixed Timestep that low for about 99% of the game, only when this special cinematic is triggered.

Keeping the Timestep at where it is (.005), results in a "jumpy" cinematic because the game is only rendering a frame about twice every second (.005 refers to a fraction of a second at timeScale 1.0)

It doesn't appear there is any script reference for Fixed Timestep, I'm guessing the "Fixed" means I can't alter this once my game engine starts up. Has anyone run into this problem, and found a workaround?

Thank you.

You can change fixedupdate time in the script by setting value to Time.fixedDeltaTime instead

Time.fixedDeltaTime = 0.0001f;

http://unity3d.com/support/documentation/ScriptReference/Time-timeScale.html

"Fixed" Time Step doesn't mean you can't change it at run time (I do it all the time for pausing and slow mo), it's called fixed because it occurs at regular intervals regardless of frames rendered. It should only be used for physics related situations and altering it to slow down animations is not ideal.

Typically on iPhone I keep the fixed time step at 0.06, setting it lower would kill the performance for most games with any number of rigidbodies or particles because the physics simulation occurs much more frequently and the iPhone's hardware is not suited to physics calculations.

Use animation speed instead:

http://unity3d.com/support/documentation/ScriptReference/AnimationState-speed.html