public class Test : MonoBehaviour { void Start() { Func(); } [System.Diagnostics.Conditional("UNITY_EDITOR")] void Func() { GameObject.CreatePrimitive(PrimitiveType.Cube); } }
標記了Conditional特性的函數,相當於#if ....預編譯指令
比如上述代碼可以達到只在編輯器下可用的效果
為了測試編譯,打包了一下。結果編輯器下有創建Cube,打包後的exe沒有。也沒有函數丟失報錯
但使用要求比較苛刻,函數本身不能有返回值,且不能是重寫方法等。