Using Curves in the Jobs system

I am creating a world generation system that uses unity’s job system and want to access either an Animation Curve or a particlesystem.minmaxcurve inside of the job.

I want to vary my terrain with biomes and want to use the curves to create unique shapes. I currently have a static curve in another script that I am accessing inside of a job in another script, however, whenever I input a value I got from noise it completely breaks, returning extreme values.

To debug this, I created a curve that returns 0 if the input is below 0.5 and 1 otherwise. When I manually input a number, it returns the correct value every single time, however, when I input a noise value that is clamped between 0 and 1 it returns 0 almost every time, and returns a number far in the negatives on occasion, creating infinitely deep holes in the ground.

When I do the same thing outside jobs it works fine.
Any thoughts?

AnimationCurve is a Keyframe[] which you can probably either mirror as NativeList<Keyframe> or “cast” animationCurve.keys to NativeArray<Keyframe>

More on accessing managed arrays from jobs here: Write to managed arrays from an `IJob` ! A collections of useful utilities when working with `Unity.Jobs`. · GitHub

I need to use the evaluate function to get values from specific points on the curve to apply to my terrain, how can I do that with a list of the keyframes? is there a way to turn those back into an accessible curve?