Conditional - 编译屏蔽特性

时间:2024-09-23 22:03:14
public class Test : MonoBehaviour
{
void Start()
{
Func();
} [System.Diagnostics.Conditional("UNITY_EDITOR")]
void Func()
{
GameObject.CreatePrimitive(PrimitiveType.Cube);
}
}

标记了Conditional特性的函数,相当于#if ....预编译指令

比如上述代码可以达到只在编辑器下可用的效果

为了测试编译,打包了一下。结果编辑器下有创建Cube,打包后的exe没有。也没有函数丢失报错

但使用要求比较苛刻,函数本身不能有返回值,且不能是重写方法等。