How do re-randomize Random.seed after setting it?

After setting Random.seed to generate content based on the seed, how can I randomly reset the seed to generate a second layer of content that ISN’T based on that seed?

I know I could probably get the system time somehow and use that, but if there’s some easier way I’d like to know.

Random.seed = System.Environment.TickCount;

Should be pretty random…

If you simply want to return Random to how it was before you selected a specific seed I suggest doing something like this:

// Store current state of the RNG
Random.State originalRandomState = Random.state;

// Use a specific seed to get the same outcome every time
Random.InitState(specificSeed);
// Grab random numbers as you like
for (int i = 0; i < 1000; i++) {
	GenerateContentFromNumber(Random.value);
};

// Return the RNG to how it was before
Random.state = originalRandomState;

Reset the seed to a random value.

Since Random.Range will not give you a “random” value, use System.Random.

//get a randomizer
var randomizer = new System.Random();

//get a random int seed
int seed = randomizer.Next(int.MinValue,int.MaxValue);

//set Unity's randomizer to that seed
UnityEngine.Random.InitState(seed);