How to make a Texture2D be constructed as a Clear texture

Hello fellow developers and question answer-…ers,

In C#.

I need to find a way to construct a clear (alpha of 0.0f) Texture2D of size x by x, where x can be vary large.

The normal Texture2D defaults to a colour that can be described as (0.5,0.5,0.5,0.5) is there anyway to change this default value to say, (0,0,0,0), or any shenanigans that yield the same result?

I have had a gander at Unity - Scripting API: Texture2D. I may have overlooked or miss-interpreted a function or member variable, but as I see it nothing there helps me out.

Currently I’m going through each pixel and setting it to (0,0,0,0) but as you can imagine this process is quite expensive for large textures.

Feel free to ask for clarification.

Thanks for you time Exemplary Community members,

You can use Texture2D.SetPixels to supply an array of colors all at once. Also take a look at Texture2D.SetPixels32 which is faster according to the documentation.

This will do

public static Texture2D CreateTexture2D(int width, int height, Color color)
{
    Texture2D tex = new Texture2D(1, 1);
    tex.SetPixel(0, 0, color);
    tex.Resize(width, height);
    return tex;
}

If you want the texture to look like the chequerboard you see on transparent textures in the inspector you have to set tex.alphaIsTransparency = true;