Thank you for your reply.No need, the material gets copied. The main texture doesn't even need to be passed in most cases. I can only suggest adding Debug.Log statements to check the material's textures, like:
I found UIDrawCall.Create(this, mat, tex, sdr),there is only one texture, but I need two texture (one for MainTexture, another for AlphaTexture).
Should I need modify the API?