public class Test : MonoBehaviour { void Start() { Func(); } [System.Diagnostics.Conditional("UNITY_EDITOR")] void Func() { GameObject.CreatePrimitive(PrimitiveType.Cube); } }
标记了Conditional特性的函数,相当于#if ....预编译指令
比如上述代码可以达到只在编辑器下可用的效果
为了测试编译,打包了一下。结果编辑器下有创建Cube,打包后的exe没有。也没有函数丢失报错
但使用要求比较苛刻,函数本身不能有返回值,且不能是重写方法等。