Quick answer: Unity Burst compiler emitting alias warnings on a job that reads and writes the same NativeArray? Burst doesn't trust the safety - use [NoAlias] or split into separate input/output arrays.
In-place mesh deformation job triggers BC1090: aliased pointers detected at compile time. Disables vectorization.
Use [NoAlias]
[NoAlias] public NativeArray<float3> vertices;Attribute tells Burst the pointer isn't shared. Vectorization re-enabled.
Or split arrays
Input array and output array; the job copies. Allocator cost; no alias confusion.
Verify via Burst Inspector
Inspector shows the generated assembly. Vectorized loops are dense; scalar fallback is sparse.
“Burst is conservative about aliasing. The conservatism costs performance.”
Audit jobs for NoAlias opportunities. Burst's defaults are safe; performance comes from being more specific.