Quick answer: Method must be static / struct method, blittable signature, called from [BurstCompile] code. Verify in Burst Inspector Assembly view.
Hot helper called per particle. Profiler shows the call cost dominates. AggressiveInlining attribute set; expected inline didn’t happen.
The Fix
using System.Runtime.CompilerServices;
[BurstCompile]
public static class Hot {
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static float3 Step(float3 a, float dt) => a * dt;
}
[BurstCompile]
struct Job : IJob {
public void Execute() {
var r = Hot.Step(input, dt); // inlined into job body
}
}
Inspector confirms inline. Profiler ms drop. Not all hints are honored; small bodies inline reliably.
Verifying
Burst Inspector Assembly: no call instruction at the call site. Profiler: hot path tighter.
“Static. Blittable. Inlines.”
Related Issues
For Burst NoAlias, see NoAlias. For Burst AVX, see AVX.
Hint helps. Verify inspector.