Quick answer: Unity Burst rejecting a job with 'managed type' compile error? Jobs can only hold blittable data - swap arrays for NativeArray and strings for FixedString.

BurstCompileException: managed types cannot be used in Burst on a struct that, as far as you can tell, contains only floats.

Replace managed collections

public struct MoveJob : IJob {
  public NativeArray<float3> positions;
  public FixedString64Bytes label;
}

float[] and string are managed - even as fields. Use NativeArray<T> and the FixedString* family from Unity.Collections.

Watch for hidden references

An interface field, a delegate, a class type used as a generic argument - any of these will trip Burst. Use [BurstDiscard] on methods that need managed code to keep the rest of the job Burst-compiled.

Enable Synchronous compile

While debugging, toggle Burst > Synchronous Compilation. You'll see the failure immediately instead of running the slower Mono path until first run.

“If Burst rejects your job, the job isn't ready for Burst - that's the message, not a Burst bug.”

Add [BurstCompile] to your job structs even before they're hot. The compile-time error is a friendlier teacher than a profiling session two months later.