API
var texture = new PaintableMaskedTexture(Texture2D mainTexture); //This texture should contains full color info
texture.SetMainTexture(Texture2D newMainTexture);
//Color Mask Texture should be grayscale texture!
texture.SetMaskTexture(Texture2D mask1, Texture2D mask2, Texture2D mask3); //1, 2 Mask Overload exists
texture.SetTintColor(Color maskTint1, Color maskTint2, Color maskTint3); //1, 2 Color Overload exists
targetMat.mainTexture = texture.CurrentTexture; //This returns RenderTexture
texture.CreateCopy();