This is straight implementation of the Perlin noise function for Unity, which is based on Perlin's SIGGRAPH 2002 paper "Improving Noise".
http://mrl.nyu.edu/~perlin/paper445.pdf
You may use the script (Perlin.cs) in your projects freely.
The value range of the noise functions is [-1.0, +1.0].
AFAIK, the value range of the fBm functions is not well-defined. It might be somewhere around [-0.75, +0.75]. Please let me know if you have the exact solution 😉