Conditional

public class Test : MonoBehaviour
{
    void Start()
    {
        Func();
    }

    [System.Diagnostics.Conditional("UNITY_EDITOR")]
    void Func()
    {
        GameObject.CreatePrimitive(PrimitiveType.Cube);
    }
}

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

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

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

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

原文地址:https://www.cnblogs.com/hont/p/5697633.html