v3.6.3在代码里动态设置材质的define,NATIVE环境失效

版本:3.6.3

请问如何在代码里动态设置材质的define?我目前直接设置pass下的defines,在编辑器和浏览器是有效的,在NATIVE环境下是失效的
代码截取:
effect -> 片源着色器:(色值是ts代码里传进去的,没有截取)
#if SHOW_GRADIENT
float gx = v_uv0.x*horizontal;
o.rgb = mix(startColor, endColor, vec4(gx)).rgb;
float gy = v_uv0.y
vertical;
o.rgb *= mix(startColor, endColor, vec4(gy)).rgb;
#endif

ts代码动态更改:(this.lbl就是一个Label组件)
this.lbl.customMaterial.passes[0].defines[”SHOW_GRADIENT”] = true/false;
this.lbl.customMaterial.passes[0].tryCompile();

编辑器效果:
企业微信截图_16887289487494
浏览器效果:
企业微信截图_16887289758845
这两处都是有效的,但是native环境是失效的
native 安卓环境:(其他手机拍照运行设备得此图)
企业微信截图_1688729996919
打印出来返回的是undefine


因为define打不开,所以着色效果就全失效了,请问native环境应该怎么做?

我记得以前Creator以前有个setDefine接口可以设置材质的define,但是3.6.3版本没有这个接口了。官方人员或是大神看到了这篇帖子,如果知道解决办法的话还请指点迷津,谢谢了。

@引擎开发团队