> For the complete documentation index, see [llms.txt](https://infinitypbr.gitbook.io/magic-pig-games/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://infinitypbr.gitbook.io/magic-pig-games/juicy-actions/clock-and-time-scales.md).

# Clock & Time Scales

**Juicy Actions** comes with a built-in time scale system that enables variable time scales and pausing and resuming. You can utilize it, ignore it, or easily allow your existing time system to control it.

{% content-ref url="/pages/8192f978e1593bbfc38a628a6bdaf7c0601ad209" %}
[Juicy Actions Clock](/magic-pig-games/juicy-actions/clock-and-time-scales/juicy-actions-clock.md)
{% endcontent-ref %}

If you use[ **Magic Time**](broken://pages/hlYGqP9mEYDbmgzVLrzB), you can integrate that, and **Juicy Actions** will respect per-object timescales.

{% content-ref url="/pages/NlVpFYU5qkNndfXs5vYr" %}
[Magic Time Integration](/magic-pig-games/juicy-actions/clock-and-time-scales/magic-time-integration.md)
{% endcontent-ref %}

If you have your own time class, you can easily create a bridge — or have your favorite AI create one for you!

{% content-ref url="/pages/OQ0THcimYG0nnul1YiUo" %}
[Custom Time Bridge / Integrations](/magic-pig-games/juicy-actions/clock-and-time-scales/custom-time-bridge-integrations.md)
{% endcontent-ref %}

## Clock Flow Chart

<figure><img src="/files/5tnPygkaRzV26fx2Sqh9" alt=""><figcaption></figcaption></figure>

The `ActionExecutor` is the core of the clock — each one can utilize different clock systems if needed. By default, they utilize the built-in `JuicyActionsClock`, which utilizes the `DefaultClock` copying the Unity time system, although with the ability to pause actions without pausing the Unity time system.

## Start TimeScale

[Juicy Actions Settings](/magic-pig-games/juicy-actions/juicy-actions-settings.md) has an option for a default `TimeScale`. This is great when your entire project should start at a non standard Time Scale. However, if you have a single scene that you want to start at a different Time Scale, you can use the `SceneTimeScaleOverride` class. Throw that on any object, and the `TimeScale` will be set to the value you'd like.

{% hint style="success" %}
Many of the demo scenes use this to start the `TimeScale` at `0`.
{% endhint %}
