It might be due to data corruption.
Are you able to catch the crash in the debugger in a build with debugging symbols available? If it is a development configuration even better.
If you are able to catching on the debugger, some things to take a look at can be
- Can you see what struct type name is being serialized? It should be part of the UScruct or UClass object that is being serialized. That might give you a hint of what asset is involved.
- Is the archive in an error state? That assert should come from a callstack containing
SerializeUnversionedProperties
. There, there is aUnderlyingArchive
local variable, That is the variable you should try to inspect. If the archive it is in an error state, it would confirm that something went wrong before.