代码检查:不支持装箱操作
Unity 的 Burst 编译器不支持将值类型装箱为 object 或接口引用。 当结构体或基本类型被隐式转换为 object 、传递给需要 object 的 API,或以托管引用方式处理时,可能会发生此情况。
示例
在本例中, value 整数被赋值给 Burst 编译作业中的 object 变量。 此操作需要装箱,目前不受支持。
using Unity.Burst;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
public int value;
public void Execute()
{
// Reported: Boxing operations are not supported in Burst
object boxed = value;
}
}
using Unity.Burst;
using Unity.Jobs;
[BurstCompile]
public struct ExampleJob : IJob
{
public int value;
public void Execute()
{
// Keep the value in its original unmanaged form
int copy = value;
}
}
快速修复
此检查不提供专用的快速修复。 请通过移除装箱转换,将代码限定在 Burst 兼容的非托管类型上来手动修复。
2026年 3月 25日