I'm having an annoying problem that hopefully others can shed some light on. As part of my project I want to load textures from the web and parse them into Texture2D objects at runtime. I have an approach that works for DXT5, ETC2 and PVRTC formats which is great, however the filesize for these images is fairly large so I'm looking to use crunched textures which are a factor of 20 smaller in my tests. I'm compressing the images using Unity's updated branch of the Crunch tool available here: https://github.com/Unity-Technologies/crunch/tree/unity After parsing the CRN file in Unity to extract the header and image data, I run the following to generate the Texture2D: Code (CSharp): AssetImageData imageData = AssetDecoder.GetImageDataFromCRN(response.Data); texture = new Texture2D(imageData.width, imageData.height, imageData.format, false, true); texture.LoadRawTextureData(imageData.dataPointer, imageData.dataLength); texture.Apply(); This gives me the following error: Code (CSharp): The texture could not be loaded because it has been encoded with an older version of Crunch. This can happen when loading AssetBundles containing Crunch-compressed textures built with Unity version prior to 2017.3 UnityEngine.Texture2D:Apply() I'm not sure how to approach this problem. I've tried re-compiling the Crunch binary from that repo and I get the same error. The last commit to that repo was in June and Unity 2017.3 came out in December 2017 so I don't think I'm using an outdated version of the Crunch tool. Any ideas would be appreciated!