Inconsistent procedural terrain

Don’t use the player position as input if it is going to be different.

OR… use a reduced-accuracy version of the player position, such as one rounded off to a lower level of accuracy.

Perlin noise will give the same numeric output for a given input pair. Your job is to make that input pair consistent. If you truly care about accuracy, your computations should probably be in integer space, then downscaled all at once right before feeding into the Perlin function. Here’s why:

Floating (float) point imprecision:

Never test floating point (float) quantities for equality / inequality. Here’s why:

https://starmanta.gitbooks.io/unitytipsredux/content/floating-point.html

“Think of [floating point] as JPEG of numbers.” - orionsyndrome on the Unity3D Forums