Random is not Random

I am writing something with roguelike elements and I can tell you for an actual true to god fact that Random.Range is either not refreshing each time it is called or it just isn’t actually random.

Example: I instantiate 20 objects in a loop calling a function which calls random.range on each loop iteration. I very often end up with 3 clusters of objects because it places many of them in the same position.

What. The. Actual. Noise?

How is Random not Random or all messed up? I even tried Random.seed = System.DateTime.Now.Millisecond; before using Random.Range but this is actually WORSE and creates even more artifacts?

Why is it Random doesn’t work right at all?

***[Random.org][1]*** Might be helpful

No Computer or OS has been created that can generate completely Random Numbers because
The Machine is a machine It follows the rules (Strictly) given to it so It is just a thing that does Exactly what it is told to do.

So Random is just a calculation that makes it seem Random

So You can do two things

  1. Get a Pseudo random number generator

  2. You can make it quite convincing by turning seed into a sum of 4 (Maybe 8) or maybe even the time in seconds random Ranges