在ScriptingDefineSymbols中指定定义符号时,在 #if 定义的符号名
和#endif
之间的代码才会参与编译和执行。否则,代码不参与编译和执行。
例
#if UNITY_EDITOR
Debug.Log("我只有在编辑器环境下才会被编译和执行");
#endif
通过代码获取"定义符"
var symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android);
通过代码设置"定义符"
PlayerSettings.SetScriptingDefineSymbolsForGroup(BuildTargetGroup.Android, "MY_DEFINE");
注意BuildTargetGroup
根据你的发布平台而定
Unity内置的常用平台定义
宏 | 描述 |
---|---|
UNITY_EDITOR | 编辑器环境 |
UNITY_ANDROID | Android平台 |
UNITY_IOS | iOS平台 |
UNITY_STANDALONE_OSX | Mac OS操作系统 |
UNITY_STANDALONE_WIN | Windows操作系统 |
UNITY_STANDALONE_LINUX | Linux的操作系统 |
UNITY_STANDALONE | Mac,Windows或Linux操作系统 |