public void Hydrate()
    {
        if (IsHydrated == false)
        {
            name = "NEW Terrain Layer [Reference]";

            Octaves = ScriptableObject.CreateInstance <Int_MinMax_Reference>();
            Octaves.Hydrate();
            Octaves.name       = "Octaves";
            Octaves.IsHydrated = true;

            Scale = ScriptableObject.CreateInstance <Float_MinMax_Reference>();
            Scale.Hydrate();
            Scale.name       = "Scale";
            Scale.IsHydrated = true;

            Persistance = ScriptableObject.CreateInstance <Float_MinMax_Reference>();
            Persistance.Hydrate();
            Persistance.name       = "Persistance";
            Persistance.IsHydrated = true;

            Lacunarity = ScriptableObject.CreateInstance <Float_MinMax_Reference>();
            Lacunarity.Hydrate();
            Lacunarity.name       = "Lacunarity";
            Lacunarity.IsHydrated = true;

            Root = ScriptableObject.CreateInstance <Float_MinMax_Reference>();
            Root.Hydrate();
            Root.name       = "Root";
            Root.IsHydrated = true;

            Magnitude = ScriptableObject.CreateInstance <Float_MinMax_Reference>();
            Magnitude.Hydrate();
            Magnitude.name       = "Magnitude";
            Magnitude.IsHydrated = true;
        }
    }