Random.state
Other Versions
public static Random.State state;
Description
Gets/Sets the full internal state of the random number generator.
This property is usually used to save and restore a previously saved state of the random number generator (RNG). The RNG state can also be initialized with a seed using the Random.InitState function, but the effect is quite different, as shown in the following example.
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
void Start()
{
Random.InitState(255);
PrintRandom("Step 1");
PrintRandom("Step 2");
Random.State oldState = Random.state;
PrintRandom("Step 3");
PrintRandom("Step 4");
Random.state = oldState;
PrintRandom("Step 5");
PrintRandom("Step 6");
Random.InitState(255);
PrintRandom("Step 7");
PrintRandom("Step 8");
}
void PrintRandom(string label)
{
Debug.Log(string.Format("{0} - RandomValue {1}", label, Random.Range(1, 100)));
}
}
After running this script we will observe that the random values from step 5 and 6 will be equal to those from step 3 and 4 because the internal state of the RNG was restored by using Random.state property. Also, the random values from step 7 and 8 will be equal to the ones from step 1 and 2 because Random.InitStatereinitializes the state of the RNG with the initial seed.
Random.value
Other Versions
Leave feedback
public static float value;
Description
Returns a random number between 0.0 [inclusive] and 1.0 [inclusive] (Read Only).
Both 0.0 and 1.0 may be returned by this property. This behaviour is different to that of many other random number generators which return a value less than but never exactly equal to 1.0.