Bug with serialization & caching

We are using graphs caching using files, ZIP disabled.

After the project is copied / or some asset package exported with cached files and imported in the another instance of the project - Graphs serialization breaks (all Graphs are deleted), and caching stops working (impossible to load from cache because of exception:

Caught exception when loading from zip
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.__Error.EndOfFile () [0x0000a] in <47fc8c70fa834cbf8141d7c1a7589125>:0
at System.IO.BinaryReader.ReadByte () [0x00018] in <47fc8c70fa834cbf8141d7c1a7589125>:0
at System.IO.BinaryReader.Read7BitEncodedInt () [0x00019] in <47fc8c70fa834cbf8141d7c1a7589125>:0
at System.IO.BinaryReader.ReadString () [0x0000f] in

Ok, the problem occur when the project where cache created platform is Android, and the another instance of the project where cache imported is Windows.

For me looks like a bug still.


If zip is disabled in the first project, the second project also needs to have zip disabled in order to be able to read the file.
Though I agree that the error handling is not great.

Projects are idenctial, so both have disabled ZIP. Problem is only persist because there is different platforms (android for one, windows for another).

Do you have a more complete stack trace?

No, already switched the second project to Android. But it’s easy to reproduce:

  1. Create new Android project with A*, enable NO ZIP.
  2. In any scene create A* with recast graph, then cache it.
  3. Copy project, but open the copy as Windows project without any changes.