Code inspection: Function signature cannot contain managed types
This inspection reports calls from Burst-compiled code to methods whose parameter types or return type are managed.
Burst method calls must use Burst-compatible signatures. If a called method accepts object, an interface type, a class, or returns a managed type, this inspection warns on the call site.
Example
In this example, the LogValue method accepts an object parameter. Calling this method inside a Burst-compiled job is not supported and will be flagged.
using Unity.Burst;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
private void LogValue(object value)
{
}
public void Execute()
{
// Reported: managed parameters are not supported in Burst
LogValue(null);
}
}
using Unity.Burst;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
private void LogValue(int value)
{
}
public void Execute()
{
// Correct: Use Burst-compatible value types
LogValue(42);
}
}
Quick-fix
This inspection does not provide a dedicated quick-fix. Fix it manually by changing the called method signature or by moving the call out of Burst-compiled code.
26 March 2026