Every time do packaging, the pak (ucas, utoc) files change.

In order to implement the client and DLC patch, I applied iostore to generate a pak file (+ ucas, utoc) during packaging, and implemented it by performing PatchGeneration through BuildPatchTool.

However, sometimes (not always) even when applying a very minor modification, 1~2GB of patch capacity is required,

When analyzing the contents of the generated pack (ucas, utoc), I confirmed that most of the values’ sizes and Hash are changed.

Cooking is also performed in Iterate, so the actual changes are very small.
LogCook: Display: Found 5 cooked package(s) in package store.
LogCook: Display: Keeping 10561. Recooking 5. Removing 0. 0 generated packages to be evaluated for iterative skipping later.

If you check the packaged pack file,
There are a lot of differences in compared to the previously packaged pack file.

Most of the changed files are translation string tables, some assets, or some cpp codes.
There may be some effects on the shader, but
I still can’t understand the excessive differences.

I would like to hear opinions from those who have encountered similar issues or problems,
or those who patch in a similar way.

I analyzed various items for several days, and

In conclusion, is not newly created or changed,
but it seems that the ShaderCode in this pack is included in another pack, although the shader compilation is not performed.

In other words, the ShaderCode is moved here and there without being dependent on the pack version due to an unconfirmed condition.
After repeating the packaging twice, I collected the internal list of all the pack files before and after,
and sorted them by extracting only the hash values.
There is a little additional shadercode, but most of the shadercode seems to be the same without any changes.
However, it seems that it is not fixed which pack it is included in.

In summary,
Can the ShaderCode items not be scattered here and there during packaging, but be fixedly collected only in a specific pack?

The issue is still being tracked…
In conclusion,
The data inside the pack is the same before and after packaging,
But if the order of the data (especially shadercode) is changed,
The two packs are identified as having different parts, so when creating chunks, additional chunks are created for the ‘different parts’.
In other words, there is a difference in the order of the data in the same file,
So we are looking for a way to solve this…