Is there a way to import a grayscale texture?

I’m trying to import picture with 1 grayscale channel, but despite any settings UE4 rejects 1-channeled files.
I found a TC_Grayscale compression settings, which can be used on 4 channeled texture and then only 1st channel is used, everything else is discarded. Does this trick delete other channels from memory or they are still here, but not visible?

If you take a look at the source, there are “TextureFormat[Platform].cpp” classes that deal with compression for all the different platforms. I was browsing through them a bit, and all the supported compression formats seem to be RGB or RGBA. You can go through them all and Google the specs, but I couldn’t see any in the source that supported one-channel compression.

What you will likely end up with is the 8-bit uncompressed texture format (G8) which appears in the “TextureFormatUncompressed.cpp”. So you will probably actually use the same memory (or *more *if you were using a 4-bit or 2-bit RGBA compression like PVRTC on iOS), but you will have perfect 8-bit data with no compression artifacts. It’s possible that certain platforms will support one-channel compression–OpenGL ES 3.0 should include support for one-channel EAC compressed textures–and that support could be added to the engine. In that case, I would expect the engine to use that compression when it can and fall back to 8-bit uncompressed when nothing else is available. Right now I don’t see anything except the 8-bit uncompressed, but I easily could have overlooked something.

So, I highly doubt the engine will ever *waste *memory for 4-channels when you only need one, but whether or not you actually *save *memory using “TC Grayscale” will depend on the texture compression available on the platform you are deploying to. On the whole it is probably advantageous to use “TC Grayscale” if that’s really all you need because that should allow the engine to optimize your memory use as much as possible when it can.