unity – How can I randomize my speeds just once, each time values are changed in the Inspector?

    private void SpeedUpdater()
    {
        if (changeSpeedOnce == false)
        {
            foreach (WaypointsFollower follower in waypointsFollowers)
            {
                if (randomSpeed)
                {
                    follower.speed = Random.Range(minRandomSpeed, maxRandomSpeed);
                }
                else
                {
                    follower.speed = speed;
                }
            }

            changeSpeedOnce = true;
        }
    }

I’m calling SpeedUpdater from inside the Update.

The problem is that if I’m not using the private flag bool changeSpeedOnce it will give each follower speed a random value every frame but I want that when it’s random it will give each follower speed only one random speed value that is why I’m using the changeSpeedOnce flag.

but then I can’t change the speed in run time when the game is running because changeSpeedOnce is false now.

I’m stuck here. From one side I want to give only one random speed value to each follower but I also want to do it any time in the run time when I’m changing the speed value in the Inspector.