I've tried using ScriptableBuildPipeline (CompatibilityBuildPipeline) instead of the old BuildPipeline to build my asset bundles. I've found that PrefabPackedIdentifiers generates duplicate IDs for some of my objects. During runtime the Unity Player crashed when loading the bundle with TransformChangeDispatch::QueueTransformChangeIfHasChanged (probably not important). Build error + stack trace in attachment. When I set ContiguousBundles to false, everything worked (it switches to Unity5PackedIdentifiers). When looking at the code of both PrefabPackedIdentifiers and Unity5PackedIdentifiers it looks really stupid. The way simple data structures like GUID and long are converted to string or casted to objects and then written through some weird reflection into hash stream and then hash is obtained as byte array of 16-bytes, just to throw away half of it. WOW, small wonder it even works. Can you please look at it and fix those two classes which calculate the identifiers to make it work properly? What about using Hash128 to combine GUID, LocalFileID and FileType?