Search code examples
c#unity-game-enginetexture2d

Making a Texture2D readable in Unity via code


I have some AssetBundles that I want to convert to .png image files.

They are Texture2D assets, but the problem is as they are not Read Enable, when I try to convert them to PNG with a

var _bytes = _texture2d.EncodeToPNG();

command, I get the following error message:

Texture 'name of a texture' is not readable, the texture memory can not be accessed from scripts. You can make the texture readable in the Texture Import Settings.

I really can't access the Texture Import Settings, as they come from asset bundles and everything is made with code.

Somebody has a workaround for this?

Thanks


Solution

  • Select texture in project, open inspector window, set texture type to "Advanced", toggle "Read and write enabled".