Unity动态修改Scripting Define Symbols(宏定义)
在ScriptingDefineSymbols中指定定义符号时,在 #if 定义的符号名和#endif之间的代码才会参与编译和执行。否则,代码不参与编译和执行。例#if UNITY_EDITORDebug.Log("我只有在编辑器环境下才会被编译和执行");#endif通过代码获取"定义符"var symbols = PlayerSettings.GetScriptingDefi...
·

在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操作系统 |
更多推荐

所有评论(0)