I have an IJobParallelFor that has a Random member in it. I initialize this random by calling either InitState() or InitState((uint)Random.Range(int.MinValue, int.MaxValue)), with no real difference in behavior. In the job's Execute method, I'm occasionally calling random.NextFloat(), and it always just gets stuck on the same 3-5 values, such as the example below: When I call NextFloat() from the main thread, it works great. Since I can't call UnityEngineRandom.Value in another thread, I was under the impression that this random should be working this way. I'm using version 1.0.1 from the Package Manager in Unity 2018.3.12f1. Am I missing something? Help.