// Update is called once per frame void Update() { if (Mathf.Abs(light.range - targetRange) < 0.001f) { float flickerFactor = 0.3f * baseRange; targetRange = baseRange + rng.NextFromRange(-flickerFactor, flickerFactor); rangeStep = (targetRange - light.range) / rng.Next(3, 10); } light.range += rangeStep; }