# timeScale

> The scale at which time passes.

## Definition

* **Type:** Property
* **Namespace:** [UnityEngine](/engine/6000.0/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public static float timeScale { get; set; }
```

### Remarks

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()](/engine/6000.0/script-reference/unityengine/monobehaviour/fixedupdate.md) 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](/engine/6000.0/script-reference/unityengine/time/fixeddeltatime.md) by timeScale. Whether this adjustment is desirable is game-specific.

FixedUpdate functions and suspended [Coroutines](/engine/6000.0/manual/scripting/object-oriented-development/coroutines-section/coroutines.md) with [WaitForSeconds](/engine/6000.0/script-reference/unityengine/waitforseconds.md) are not called when timeScale is set to zero.

### Examples

```csharp
using UnityEngine;

public class Example : MonoBehaviour
{
    // Toggles the time scale between 1 and 0.7
    // whenever the user hits the Fire1 button.

    private float fixedDeltaTime;

    void Awake()
    {
        // Make a copy of the fixedDeltaTime, it defaults to 0.02f, but it can be changed in the editor
        this.fixedDeltaTime = Time.fixedDeltaTime;
    }

    void Update()
    {
        if (Input.GetButtonDown("Fire1"))
        {
            if (Time.timeScale == 1.0f)
                Time.timeScale = 0.7f;
            else
                Time.timeScale = 1.0f;
            // Adjust fixed delta time according to timescale
            // The fixed delta time will now be 0.02 real-time seconds per frame
            Time.fixedDeltaTime = this.fixedDeltaTime * Time.timeScale;
        }
    }
}
```
