Possible Bug in FArchiveLoadCompressedProxy() for Console ( non PC )?

I have a plugin that does 2D Mesh + Skeletal Skinning Animation for my 2D animation tool on UE4.12:

One of my users is trying to deploy my plugin onto the consoles and has encountered some issues.
On the PC it runs and packages just fine.

He has run the code through the debugger and narrowed it down to this:

FString& UCreatureAnimationAsset::GetJsonString()
	// Decompress only when needed
	if (CreatureFileJSonData.IsEmpty())
		FArchiveLoadCompressedProxy Decompressor =
			FArchiveLoadCompressedProxy(CreatureZipBinary, ECompressionFlags::COMPRESS_ZLIB);

		if (Decompressor.IsError() || (CreatureZipBinary.Num() == 0))
			UE_LOG(LogTemp, Warning, TEXT("UCreatureAnimationAsset::Could not uncompress data"));
			return CreatureFileJSonData;

		FBufferArchive DecompressedBinaryArray;
		Decompressor << DecompressedBinaryArray;
		CreatureFileJSonData = UTF8_TO_TCHAR((char *)DecompressedBinaryArray.GetData());

	return CreatureFileJSonData;

As you can see from the example above, my plugin decompresses a CreatureZipBinary of type TArray into a FString ( which is a JSON ) containing the original contents of the character animation.

On PC, this runs just fine and everything goes through. On the consoles, the decompression routine FArchiveLoadCompressedProxy() fails and doesn’t manage to decompress the array properly resulting in a corrupted/incomplete JSON string.

Does anybody here know the cause of this issue? The strange thing is the plugin ran just fine on 4.11 on consoles with no issues but on 4.12, the decompressor fails to generate correct data.
Am I calling the decompressor routines correctly? Or is there anything else I am missing here.

Please advice.


Hello kestrelm,

If you are having an issue that relates to a console, please post it in either the Xbox One Development or Playstation 4 Development forums so that we can take a look at it over there.

Have a great day