Unity - Scripting API: Time.timeScale
Success!
Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
Submission failed
For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
public static float timeScale;
Description
The scale at which time passes.
This can be used for slow motion effects or to speed up your application. When timeScale is 1.0, time passes as fast as real time. When timeScale is 0.5 time passes 2x slower than realtime.
When timeScale is set to zero your application acts as if paused if all your functions are frame rate independent. Negative values are ignored.
Note that changing the timeScale only takes effect on the following frames. How often MonoBehaviour.FixedUpdate is executed per frame depends on the timeScale. Therefore, to keep the number of FixedUpdate callbacks per frame constant, you must also multiply Time.fixedDeltaTime by timeScale. Whether this adjustment is desirable is game-specific.
FixedUpdate functions and suspended Coroutines with WaitForSeconds are not called when timeScale is set to zero.