using UnityEngine; namespace AllIn1SpriteShader { //This script is made with Unity version 2018 and previous ones in mind //If you are in Unity 2019 or onward you probably want to use SetGlobalTimeNew.cs instead //This script will pass in the Scaled Time to the shader so the effects stop being animated when the game is paused //Set shaders to Scaled Time variant and add this script to an active GameObject to see the results //Video tutorial about it: https://youtu.be/7_BggIufV-w [ExecuteInEditMode] public class SetGlobalTimeUnity2018 : MonoBehaviour { int globalTime; void Start() { globalTime = Shader.PropertyToID("globalUnscaledTime"); } void Update() { Shader.SetGlobalFloat(globalTime, Time.time / 20f); } } }