Hello,
I’d like to understand if the current implementation of Live Update has a bug, or is it me who misunderstands it.
Here is a scenario:
App V1:
Collection1 :
CollectionA
CollectionB
Collection2 (excluded) :
CollectionA
CollectionC
App V2:
Collection1 :
CollectionA
CollectionB
Collection2 (excluded) :
CollectionA
CollectionC
Collection3 (excluded) :
CollectionA
CollectionD
Also, in App V2, the collection A has been modified (we changed a script file).
The problem I have is:
User installs App V1.
User updates to AppV2, tries to download the new LU content.
He gets a IO error.
WARNING:RESOURCE: Unable to create resource: /worldmap/stand_shop.rigscenec: IO_ERROR
05-18 14:58:58.906 1108 1210 W defold : WARNING:RESOURCE: Unable to create resource: /worldmap/floors/2/floor_2_generated_0_generated_0.spinemodelc: IO_ERROR
05-18 14:58:58.906 1108 1210 W defold : WARNING:RESOURCE: Unable to create resource: /worldmap/floors/2/floor_2_generated_0.goc: IO_ERROR
05-18 14:58:58.906 1108 1210 W defold : WARNING:RESOURCE: Unable to create resource: /worldmap/recycler.rigscenec: IO_ERROR
05-18 14:58:58.906 1108 1210 W defold : WARNING:RESOURCE: Unable to create resource: /worldmap/floors/2/floor_2_generated_1_generated_0.spinemodelc: IO_ERROR
05-18 14:58:58.906 1108 1210 W defold : WARNING:RESOURCE: Unable to create resource: /worldmap/floors/2/floor_2_generated_1.goc: IO_ERROR
Therefore the user can’t use the Collection2
Is this scenario supposed to work? Am I doing anything wrong?
Is it because the excluded collection contains a collection that is also used by a non-excluded collection?
I know our documentation is lacking a bit, so I’ll try to create an example to verify the behavior.
However, in you scenario, the AppV1 doesn’t really contribute to the scenario, right? It doesn’t have any live update content. You should see the same behavior by just starting directly from app V2? Can you confirm this?
Regarding the manifest, it’s a very good question.
I would assume that the manifest of the app and the downloadable content are the same at this point. I’ll have to double check this.
Hmm, then I don’t exactly know why it doesn’t work.
Another question, does the Collection3 contribute to the problems at all? Since you’re loading Collection2, I would think it could be excluded from this problem? (Less distractions so to speak)
If you already do have a minimal/small repro I can try out, I’d be happy to try it out (saves us a bit of time)
I just verified that after bundling, the game.dmanifest(in the app bundle), and liveupdate.game.dmanifest (in the liveupdate .zip) have the same checksum.
So in this case, dpownloading the manifest shouldn’t matter.
Yes, the fact that Collection A has changed into Collection A´ should make the list of missing resources for Collection 2 different in App V2.
The resource names are the checksum of the contents of the file)
If you print out the list of missing resources for “App V1: Collection 2”, then compare it to the list of missing resources of “App V2: Collection 2” (make sure you have a clean install of App V2, with no liveupdate content previously downloaded).
If you compare these two lists och checksums, there must be at least one file that differs (the script file you’ve changed)?