So I got my hands wet in C++ and heired from the MapFog class and extended it for blueprint nodes for reading/writing a pixel array in order to make the fog(s) serializable via blueprint.
All is good now but I had to make some modifications to the code as the PixelFormat was different:
UTexture2D* ReconstructedTexture = UTexture2D::CreateTransient(RenderTarget->SizeX, RenderTarget->SizeY, PF_A32B32G32R32F);
uint8* MipData = (uint8*)ReconstructedTexture->PlatformData->Mips[0].BulkData.Lock(LOCK_READ_WRITE);
const int32 DataSize = RenderTarget->SizeY * RenderTarget->SizeX * 4 * 4;
And I changed “GetOwner()” to “this” as “GetOwner()” is always null (at least in my environment).
I’m quite happy with this solution as I can now serialize the fog with my save level and use blueprints for this.