Unity 解决添加自定义宏不生效的问题

在Unity2020.3版本中,针对Android平台,用户遇到宏定义添加或删除后在Editor下不生效的问题。即使使用AssetDatabase.Refresh()和AssetDatabase.SaveAssets(),新宏定义仍然不会立即生效,除非生成APK或重新生成.csproj文件。在VS和Rider中重新生成解决方案可能会解决此问题,但有时需要在Unity内操作或重启Unity工程才能真正生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Unity版本

2020.3

平台

Android


问题描述

执行代码添加/删除宏定义,或者直接在PlayerSetting面板里直接添加/删除宏,通过if判断,获取的还是之前的,新增的宏并没有生效。

代码添加/删除宏定义

// 添加宏定义
private static void AddSymbol(string newSymbol)
{
    BuildTargetGroup buildTargetGroup = EditorUserBuildSettings.selectedBuildTargetGroup;
    Debug.Log("当前平台:" + buildTargetGroup);
    if (buildTargetGroup == BuildTargetGroup.Unknown)
    {
        return;
    }
    var symbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(buildTargetGroup).Trim();
    Debug.Log("当前平台的ScriptingDefineSymbols:" + symbols);
    var defines = symbols.Split(';');
    if (defines.Cont
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值